|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.core.fs.db.DatabaseFileSystem
public abstract class DatabaseFileSystem
Base class for database file systems. This class contains common
functionality for database file system subclasses that normally differ only
in the way the database connection is acquired. Subclasses should override
the #getConnection()
method to return the configured database
connection.
See the DbFileSystem
for a detailed description of the available
configuration options and database behaviour.
Field Summary | |
---|---|
protected ConnectionHelper |
conHelper
the ConnectionHelper set in the init() method |
protected String |
copyFileSQL
|
protected String |
copyFilesSQL
|
protected String |
deleteFileSQL
|
protected String |
deleteFolderSQL
|
protected static int |
INITIAL_BUFFER_SIZE
|
protected boolean |
initialized
|
protected String |
insertFileSQL
|
protected String |
insertFolderSQL
|
protected String |
schema
|
protected String |
schemaObjectPrefix
|
protected String |
selectChildCountSQL
|
protected String |
selectDataSQL
|
protected String |
selectExistSQL
|
protected String |
selectFileAndFolderNamesSQL
|
protected String |
selectFileExistSQL
|
protected String |
selectFileNamesSQL
|
protected String |
selectFolderExistSQL
|
protected String |
selectFolderNamesSQL
|
protected String |
selectLastModifiedSQL
|
protected String |
selectLengthSQL
|
protected String |
updateDataSQL
|
protected String |
updateLastModifiedSQL
|
Fields inherited from interface org.apache.jackrabbit.core.fs.FileSystem |
---|
SEPARATOR, SEPARATOR_CHAR |
Constructor Summary | |
---|---|
DatabaseFileSystem()
Default constructor |
Method Summary | |
---|---|
protected void |
buildSQLStatements()
Builds the SQL statements |
void |
close()
Close the file system. |
protected CheckSchemaOperation |
createCheckSchemaOperation()
This method is called from #init(PMContext) after the
createConnectionHelper(DataSource) method, and returns a default CheckSchemaOperation . |
protected ConnectionHelper |
createConnectionHelper(DataSource dataSrc)
This method is called from the #init(PMContext) method of this class and returns a
ConnectionHelper instance which is assigned to the conHelper field. |
protected void |
createDeepFolder(String folderPath)
Creates the specified files system folder entry, recursively creating any non-existing intermediate folder entries. |
void |
createFolder(String folderPath)
Creates the folder named by this path, including any necessary but nonexistent parent folders. |
void |
deleteFile(String filePath)
Deletes the file denoted by this path. |
void |
deleteFolder(String folderPath)
Deletes the folder denoted by this path. |
boolean |
equals(Object obj)
|
boolean |
exists(String path)
Tests whether the file system entry denoted by this path exists. |
protected abstract DataSource |
getDataSource()
|
InputStream |
getInputStream(String filePath)
Returns an input stream of the contents of the file denoted by this path. |
OutputStream |
getOutputStream(String filePath)
Returns an output stream for writing bytes to the file denoted by this path. |
String |
getSchema()
|
String |
getSchemaObjectPrefix()
|
boolean |
hasChildren(String path)
Tests whether the file system entry denoted by this path has child entries. |
int |
hashCode()
Returns zero to satisfy the Object equals/hashCode contract. |
void |
init()
Initialize the file system |
boolean |
isFile(String path)
Tests whether the file system entry denoted by this path exists and is a file. |
boolean |
isFolder(String path)
Tests whether the file system entry denoted by this path exists and is a folder. |
boolean |
isSchemaCheckEnabled()
|
long |
lastModified(String path)
Returns the time that the file system entry denoted by this path was last modified. |
long |
length(String filePath)
Returns the length of the file denoted by this path. |
String[] |
list(String folderPath)
Returns an array of strings naming the files and folders in the folder denoted by this path. |
String[] |
listFiles(String folderPath)
Returns an array of strings naming the files in the folder denoted by this path. |
String[] |
listFolders(String folderPath)
Returns an array of strings naming the folders in the folder denoted by this path. |
void |
setSchema(String schema)
|
void |
setSchemaCheckEnabled(boolean enabled)
|
void |
setSchemaObjectPrefix(String schemaObjectPrefix)
|
protected void |
verifyRootExists()
Verifies that the root file system entry exists. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected boolean initialized
protected String schema
protected String schemaObjectPrefix
protected static final int INITIAL_BUFFER_SIZE
protected ConnectionHelper conHelper
ConnectionHelper
set in the init()
method
protected String selectExistSQL
protected String selectFileExistSQL
protected String selectFolderExistSQL
protected String selectChildCountSQL
protected String selectDataSQL
protected String selectLastModifiedSQL
protected String selectLengthSQL
protected String selectFileNamesSQL
protected String selectFolderNamesSQL
protected String selectFileAndFolderNamesSQL
protected String deleteFileSQL
protected String deleteFolderSQL
protected String insertFileSQL
protected String insertFolderSQL
protected String updateDataSQL
protected String updateLastModifiedSQL
protected String copyFileSQL
protected String copyFilesSQL
Constructor Detail |
---|
public DatabaseFileSystem()
Method Detail |
---|
public String getSchemaObjectPrefix()
public void setSchemaObjectPrefix(String schemaObjectPrefix)
public String getSchema()
public void setSchema(String schema)
public final boolean isSchemaCheckEnabled()
public final void setSchemaCheckEnabled(boolean enabled)
enabled
- set whether the schema check is enabledpublic boolean equals(Object obj)
equals
in class Object
public int hashCode()
hashCode
in class Object
Object.hashCode()
public void init() throws FileSystemException
init
in interface FileSystem
FileSystemException
- if the file system initialization failsprotected abstract DataSource getDataSource() throws Exception
Exception
protected ConnectionHelper createConnectionHelper(DataSource dataSrc) throws Exception
#init(PMContext)
method of this class and returns a
ConnectionHelper
instance which is assigned to the conHelper
field. Subclasses may
override it to return a specialized connection helper.
dataSrc
- the DataSource
of this persistence manager
ConnectionHelper
Exception
- on errorprotected CheckSchemaOperation createCheckSchemaOperation()
#init(PMContext)
after the
createConnectionHelper(DataSource)
method, and returns a default CheckSchemaOperation
.
Subclasses can overrride this implementation to get a customized implementation.
CheckSchemaOperation
instancepublic void close() throws FileSystemException
close
in interface FileSystem
FileSystemException
public void createFolder(String folderPath) throws FileSystemException
createFolder
in interface FileSystem
folderPath
- the path of the folder to be created.
FileSystemException
- if a file system entry denoted by path
already exists or if another error occurs.public void deleteFile(String filePath) throws FileSystemException
deleteFile
in interface FileSystem
filePath
- the path of the file to be deleted.
FileSystemException
- if this path does not denote a file or if
another error occurs.public void deleteFolder(String folderPath) throws FileSystemException
deleteFolder
in interface FileSystem
folderPath
- the path of the folder to be deleted.
FileSystemException
- if this path does not denote a folder or if
another error occurs.public boolean exists(String path) throws FileSystemException
exists
in interface FileSystem
path
- the path of a file system entry.
FileSystemException
public boolean isFile(String path) throws FileSystemException
isFile
in interface FileSystem
path
- the path of a file system entry.
FileSystemException
public boolean isFolder(String path) throws FileSystemException
isFolder
in interface FileSystem
path
- the path of a file system entry.
FileSystemException
public long lastModified(String path) throws FileSystemException
lastModified
in interface FileSystem
path
- the path of a file system entry.
FileSystemException
- if the file system entry does not exist.public long length(String filePath) throws FileSystemException
length
in interface FileSystem
filePath
- the path of the file.
FileSystemException
- if the path does not denote an existing file.public boolean hasChildren(String path) throws FileSystemException
hasChildren
in interface FileSystem
path
- the path of a file system entry.
FileSystemException
public String[] list(String folderPath) throws FileSystemException
list
in interface FileSystem
folderPath
- the path of the folder whose contents is to be listed.
FileSystemException
- if this path does not denote a folder or if
another error occurs.public String[] listFiles(String folderPath) throws FileSystemException
listFiles
in interface FileSystem
folderPath
- the path of the folder whose contents is to be listed.
FileSystemException
- if this path does not denote a folder or if
another error occurs.public String[] listFolders(String folderPath) throws FileSystemException
listFolders
in interface FileSystem
folderPath
- the path of the folder whose contents is to be listed.
FileSystemException
- if this path does not denote a folder or if
another error occurs.public InputStream getInputStream(String filePath) throws FileSystemException
getInputStream
in interface FileSystem
filePath
- the path of the file.
FileSystemException
- if the file does not exist
or if it cannot be read frompublic OutputStream getOutputStream(String filePath) throws FileSystemException
getOutputStream
in interface FileSystem
filePath
- the path of the file.
FileSystemException
- if the file cannot be written to or createdprotected void buildSQLStatements()
protected void verifyRootExists() throws Exception
Exception
- if an error occursprotected void createDeepFolder(String folderPath) throws FileSystemException
folderPath
- folder entry to create
FileSystemException
- if an error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |