F
- the storage factory class used by the subsubprotocolStorageFile
abstract class InputStreamFile<F extends BaseStorageFactory> extends java.lang.Object implements StorageFile
Modifier and Type | Field | Description |
---|---|---|
(package private) int |
nameStart |
|
(package private) java.lang.String |
path |
|
(package private) F |
storageFactory |
EXCLUSIVE_FILE_LOCK, EXCLUSIVE_FILE_LOCK_NOT_AVAILABLE, NO_FILE_LOCK_SUPPORT
Constructor | Description |
---|---|
InputStreamFile(F storageFactory,
java.lang.String path) |
|
InputStreamFile(F storageFactory,
java.lang.String child,
int pathLen) |
|
InputStreamFile(F storageFactory,
java.lang.String parent,
java.lang.String name) |
|
InputStreamFile(InputStreamFile<F> dir,
java.lang.String name) |
Modifier and Type | Method | Description |
---|---|---|
boolean |
canWrite() |
Determine whether the named file is writable.
|
boolean |
createNewFile() |
If the named file does not already exist then create it as an empty normal file.
|
boolean |
delete() |
Deletes the named file or empty directory.
|
boolean |
deleteAll() |
Deletes the named file and, if it is a directory, all the files and directories it contains.
|
boolean |
equals(java.lang.Object other) |
|
abstract boolean |
exists() |
Tests whether the named file exists.
|
java.lang.String |
getCanonicalPath() |
Converts this StorageFile into a canonical pathname string.
|
int |
getExclusiveFileLock() |
Get an exclusive lock with this name.
|
abstract java.io.InputStream |
getInputStream() |
Creates an input stream from a file name.
|
java.lang.String |
getName() |
|
java.io.OutputStream |
getOutputStream() |
Creates an output stream from a file name.
|
java.io.OutputStream |
getOutputStream(boolean append) |
Creates an output stream from a file name.
|
StorageFile |
getParentDir() |
Get the name of the parent directory if this name includes a parent.
|
(package private) abstract StorageFile |
getParentDir(int pathLen) |
Get the parent of this file.
|
java.lang.String |
getPath() |
Converts this StorageFile into a pathname string.
|
StorageRandomAccessFile |
getRandomAccessFile(java.lang.String mode) |
Get a random access file.
|
int |
hashCode() |
|
boolean |
isDirectory() |
Tests whether the named file is a directory, or not.
|
void |
limitAccessToOwner() |
Use when creating a new file.
|
java.lang.String[] |
list() |
Get the names of all files and sub-directories in the directory named by this path name.
|
boolean |
mkdir() |
Creates the named directory.
|
boolean |
mkdirs() |
Creates the named directory, and all nonexistent parent directories.
|
void |
releaseExclusiveFileLock() |
Release the resource associated with an earlier acquired exclusive lock
|
boolean |
renameTo(StorageFile newName) |
Rename the file denoted by this name.
|
boolean |
setReadOnly() |
Make the named file or directory read-only.
|
java.lang.String |
toString() |
Get the file name for diagnostic purposes.
|
final java.lang.String path
final int nameStart
final F extends BaseStorageFactory storageFactory
InputStreamFile(F storageFactory, java.lang.String path)
InputStreamFile(F storageFactory, java.lang.String parent, java.lang.String name)
InputStreamFile(InputStreamFile<F> dir, java.lang.String name)
InputStreamFile(F storageFactory, java.lang.String child, int pathLen)
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String[] list()
list
in interface StorageFile
public boolean canWrite()
canWrite
in interface StorageFile
public abstract boolean exists()
exists
in interface StorageFile
public boolean isDirectory()
isDirectory
in interface StorageFile
public boolean delete()
delete
in interface StorageFile
public boolean deleteAll()
deleteAll
in interface StorageFile
public java.lang.String getPath()
The returned path may include the database directory. Therefore it cannot be directly used to make an StorageFile equivalent to this one.
getPath
in interface StorageFile
StorageFactory.getSeparator()
public java.lang.String getCanonicalPath() throws java.io.IOException
StorageFile
getCanonicalPath
in interface StorageFile
java.io.IOException
- if an I/O error occurred while finding the canonical namepublic java.lang.String getName()
getName
in interface StorageFile
public boolean createNewFile() throws java.io.IOException
createNewFile
in interface StorageFile
java.io.IOException
- - If the directory does not exist or some other I/O error occurredpublic boolean renameTo(StorageFile newName)
It is not specified whether this method will succeed if a file already exists under the new name.
renameTo
in interface StorageFile
newName
- the new name.public boolean mkdir()
mkdir
in interface StorageFile
public boolean mkdirs()
mkdirs
in interface StorageFile
public StorageFile getParentDir()
getParentDir
in interface StorageFile
abstract StorageFile getParentDir(int pathLen)
pathLen
- the length of the parent's path name.public boolean setReadOnly()
setReadOnly
in interface StorageFile
public java.io.OutputStream getOutputStream() throws java.io.FileNotFoundException
getOutputStream
in interface StorageFile
java.io.FileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot be created, or
cannot be opened for any other reason.public java.io.OutputStream getOutputStream(boolean append) throws java.io.FileNotFoundException
getOutputStream
in interface StorageFile
append
- If true then data will be appended to the end of the file, if it already exists.
If false and a normal file already exists with this name the file will first be truncated
to zero length.java.io.FileNotFoundException
- if the file exists but is a directory
rather than a regular file, does not exist but cannot be created, or
cannot be opened for any other reason.public abstract java.io.InputStream getInputStream() throws java.io.FileNotFoundException
getInputStream
in interface StorageFile
java.io.FileNotFoundException
- if the file is not found.public int getExclusiveFileLock() throws StandardException
getExclusiveFileLock
in interface StorageFile
StandardException
public void releaseExclusiveFileLock()
releaseExclusiveFileLock
in interface StorageFile
getExclusiveFileLock()
public StorageRandomAccessFile getRandomAccessFile(java.lang.String mode) throws java.io.FileNotFoundException
getRandomAccessFile
in interface StorageFile
mode
- "r", "rw", "rws", or "rwd". The "rws" and "rwd" modes specify
that the data is to be written to persistent store, consistent with the
java.io.RandomAccessFile class ("synchronized" with the persistent
storage, in the file system meaning of the word "synchronized"). However
the implementation is not required to implement the "rws" or "rwd"
modes. The implementation may treat "rws" and "rwd" as "rw". It is up to
the user of this interface to call the StorageRandomAccessFile.sync
method. However, if the "rws" or "rwd" modes are supported and the
RandomAccessFile was opened in "rws" or "rwd" mode then the
implementation of StorageRandomAccessFile.sync need not do anything.java.lang.IllegalArgumentException
- if the mode argument is not equal to one of "r", "rw", "rws", or "rwd".java.io.FileNotFoundException
- if the file exists but is a directory rather than a regular
file, or cannot be opened or created for any other reason .public java.lang.String toString()
toString
in class java.lang.Object
public void limitAccessToOwner()
StorageFile
derby.useDefaultFilePermissions
is set to true
.limitAccessToOwner
in interface StorageFile
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.