public abstract class AbstractFileStore extends WWObjectImpl implements FileStore
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractFileStore.StoreLocation |
Modifier and Type | Field and Description |
---|---|
protected java.util.List<AbstractFileStore.StoreLocation> |
readLocations |
protected AbstractFileStore.StoreLocation |
writeLocation |
Constructor and Description |
---|
AbstractFileStore() |
Modifier and Type | Method and Description |
---|---|
void |
addLocation(int index,
java.lang.String newPath,
boolean isInstall)
Adds a location to search when files are requested from the file store and specifies its location in the search
order.
|
void |
addLocation(java.lang.String newPath,
boolean isInstall)
Adds a location to search when files are requested from the file store.
|
protected static java.lang.String |
buildLocationPath(java.lang.String property,
java.lang.String append,
java.lang.String wwDir) |
protected void |
buildReadPaths(org.w3c.dom.Node dataFileStoreNode) |
protected void |
buildWritePaths(org.w3c.dom.Node dataFileCacheNode) |
boolean |
containsFile(java.lang.String fileName)
Indicates whether the file store contains a specified file.
|
protected static java.lang.String |
determineAllUserLocation() |
protected static java.lang.String |
determineSingleUserLocation() |
protected void |
doListFileNames(AbstractFileStore.StoreLocation location,
java.io.File dir,
FileStoreFilter filter,
boolean recurse,
boolean exitBranchOnFirstMatch,
java.util.Collection<java.lang.String> names) |
protected java.lang.String[] |
doListFileNames(java.lang.String pathName,
FileStoreFilter filter,
boolean recurse,
boolean exitBranchOnFirstMatch) |
java.net.URL |
findFile(java.lang.String fileName,
boolean checkClassPath)
Searches the file store for a specified file and returns a reference to it if it is.
|
java.util.List<? extends java.io.File> |
getLocations()
Returns the locations that the file store will look for files.
|
protected static java.lang.String |
getUserHomeDir() |
java.io.File |
getWriteLocation()
Returns the location that additions to the file store are placed.
|
protected void |
initialize(java.io.InputStream xmlConfigStream) |
boolean |
isInstallLocation(java.lang.String path)
Indicates whether a specified location is considered an installed-data location and therefore not subject to
automatic removal of its contents.
|
java.lang.String[] |
listAllFileNames(java.lang.String pathName,
FileStoreFilter filter)
Returns an array of strings naming the files discovered under a specified file store path name.
|
protected boolean |
listFile(AbstractFileStore.StoreLocation location,
java.io.File file,
FileStoreFilter filter,
java.util.Collection<java.lang.String> names) |
protected boolean |
listFileName(AbstractFileStore.StoreLocation location,
java.lang.String fileName,
FileStoreFilter filter,
java.util.Collection<java.lang.String> names) |
java.lang.String[] |
listFileNames(java.lang.String pathName,
FileStoreFilter filter)
Returns an array of strings naming the files discovered directly under a specified file store path name.
|
java.lang.String[] |
listTopFileNames(java.lang.String pathName,
FileStoreFilter filter)
Returns an array of strings naming the files discovered under a specified file store path name.
|
protected static java.io.File |
makeAbsoluteFile(java.io.File file,
java.lang.String fileName) |
protected static java.lang.String |
makeAbsolutePath(java.io.File dir,
java.lang.String fileName) |
protected static void |
markFileUsed(java.io.File file) |
java.io.File |
newFile(java.lang.String fileName)
Creates a new, empty file in the file store.
|
protected static java.lang.String |
normalizeFileStoreName(java.lang.String fileName) |
protected static java.lang.String |
propertyToPath(java.lang.String propName) |
void |
removeFile(java.net.URL url)
Removes a file from the file store using the URL to the cached file.
|
void |
removeLocation(java.lang.String path)
Remove a specified read location from the file store.
|
protected AbstractFileStore.StoreLocation |
storeLocationFor(java.lang.String path) |
protected static java.lang.String |
storePathForFile(AbstractFileStore.StoreLocation location,
java.io.File file) |
onMessage, propertyChange
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getContentType, getExpirationTime, removeFile, requestFile, requestFile
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
onMessage
protected final java.util.List<AbstractFileStore.StoreLocation> readLocations
protected AbstractFileStore.StoreLocation writeLocation
public void addLocation(int index, java.lang.String newPath, boolean isInstall)
FileStore
addLocation
in interface FileStore
index
- the location in the search list at which to add the new location.newPath
- the location to add.isInstall
- indicates whether the location is an installed-data location and therefore not subject to
automatic removal of its contents.public void addLocation(java.lang.String newPath, boolean isInstall)
FileStore
addLocation
in interface FileStore
newPath
- the location to add. If the location already exists in the list of read locations its entry is
removed and a new entry is added to the end of the search list.isInstall
- indicates whether the location is an "installed data" location and therefore not subject to
automatic removal of its contents.protected static java.lang.String buildLocationPath(java.lang.String property, java.lang.String append, java.lang.String wwDir)
protected void buildReadPaths(org.w3c.dom.Node dataFileStoreNode)
protected void buildWritePaths(org.w3c.dom.Node dataFileCacheNode)
public boolean containsFile(java.lang.String fileName)
FileStore
containsFile
in interface FileStore
fileName
- the file in question.protected static java.lang.String determineAllUserLocation()
protected static java.lang.String determineSingleUserLocation()
protected void doListFileNames(AbstractFileStore.StoreLocation location, java.io.File dir, FileStoreFilter filter, boolean recurse, boolean exitBranchOnFirstMatch, java.util.Collection<java.lang.String> names)
protected java.lang.String[] doListFileNames(java.lang.String pathName, FileStoreFilter filter, boolean recurse, boolean exitBranchOnFirstMatch)
public java.net.URL findFile(java.lang.String fileName, boolean checkClassPath)
FileStore
findFile
in interface FileStore
fileName
- the name of the file to findcheckClassPath
- if true
, the class path is first searched for the file, otherwise the class
path is not searched unless it's one of the explicit paths in the cache search directoriesjava.lang.IllegalArgumentException
- if fileName
is nullpublic java.util.List<? extends java.io.File> getLocations()
FileStore
getLocations
in interface FileStore
protected static java.lang.String getUserHomeDir()
public java.io.File getWriteLocation()
FileStore
getWriteLocation
in interface FileStore
protected void initialize(java.io.InputStream xmlConfigStream)
public boolean isInstallLocation(java.lang.String path)
FileStore
isInstallLocation
in interface FileStore
path
- the path in question.public java.lang.String[] listAllFileNames(java.lang.String pathName, FileStoreFilter filter)
FileStore
listAllFileNames
in interface FileStore
pathName
- relative path in the file store to search, or null to search the entire file store.filter
- a file filter.protected boolean listFile(AbstractFileStore.StoreLocation location, java.io.File file, FileStoreFilter filter, java.util.Collection<java.lang.String> names)
protected boolean listFileName(AbstractFileStore.StoreLocation location, java.lang.String fileName, FileStoreFilter filter, java.util.Collection<java.lang.String> names)
public java.lang.String[] listFileNames(java.lang.String pathName, FileStoreFilter filter)
FileStore
listFileNames
in interface FileStore
pathName
- relative path in the file store to search, or null to search the entire file store.filter
- a file filter.public java.lang.String[] listTopFileNames(java.lang.String pathName, FileStoreFilter filter)
FileStore
FileStore.listAllFileNames(String, FileStoreFilter)
, This has the effect of locating the top file name under each branch.
This returns null if the path does not exist in the store. Returned names are relative pointers to a file in the
store; they are not necessarily a file system path.listTopFileNames
in interface FileStore
pathName
- relative path in the file store to search, or null to search the entire file store.filter
- a file filter.protected static java.io.File makeAbsoluteFile(java.io.File file, java.lang.String fileName)
protected static java.lang.String makeAbsolutePath(java.io.File dir, java.lang.String fileName)
protected static void markFileUsed(java.io.File file)
public java.io.File newFile(java.lang.String fileName)
FileStore
protected static java.lang.String normalizeFileStoreName(java.lang.String fileName)
protected static java.lang.String propertyToPath(java.lang.String propName)
public void removeFile(java.net.URL url)
FileStore
removeFile
in interface FileStore
url
- the "file:" URL of the file to remove from the file store. Only files in the writable WorldWind disk
cache or temp file directory are removed by this method.java.lang.IllegalArgumentException
- if url
is nullpublic void removeLocation(java.lang.String path)
FileStore
removeLocation
in interface FileStore
path
- the read location to remove.protected AbstractFileStore.StoreLocation storeLocationFor(java.lang.String path)
protected static java.lang.String storePathForFile(AbstractFileStore.StoreLocation location, java.io.File file)