Java Doc for StorageFactory.java in  » Database-DBMS » db-derby-10.2 » org » apache » derby » io » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Database DBMS » db derby 10.2 » org.apache.derby.io 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


org.apache.derby.io.StorageFactory

All known Subclasses:   org.apache.derby.impl.io.BaseStorageFactory,
StorageFactory
public interface StorageFactory (Code)
This interface provides basic storage functions needed for read only databases. Most storage implementations will be read-write and implement the WritableStorageFactory extension of this interface.

The database engine uses this interface to access storage. The normal database engine implements this interface using disk files and the standard java.io classes.

The storage factory must implement writable temporary files, even if the database is read-only or if the storage factory is read-only (i.e. it does not implement the WritableStorageFactory extension of this interface). Temporary files are those created under the temporary file directory. See StorageFactory.getTempDir method getTempDir() .

The database engine can be turned into a RAM based engine by providing a RAM based implementation of this interface.

There is one instance of the StorageFactory per database if the log files are kept in the database directory. If the log files are kept on a separate device then a second StorageFactory is instantiated to hold the log files. The database or log device name is set when the init method is called. The init method is called once per instance, before any other StorageFactory method.

The class implementing this interface must have a public niladic constructor. The init method will be called before any other method to set the database directory name, to tell the factory to create the database directory if necessary, and to allow the implementation to perform any initializations it requires. The database name set in the init method forms a separate name space. Different StorageFactory instances, with different database directory names, must ensure that their files do not clash. So, for instance, storageFactory1.newStorageFile( "x") must be a separate file from storageFactory2.newStorageFile( "x").

The database engine will call this interface's methods from its own privilege blocks. This does not give a StorageFactory implementation carte blanche: a security manager can still forbid the implemeting class from executing a privileged action. However, the security manager will not look in the calling stack beyond the database engine.

Each StorageFactory instance may be concurrently used by multiple threads. Each StorageFactory implementation must be thread safe.

A StorageFactory implementation is plugged into the database engine via a sub-protocol. Sub-protocol xxx is tied to a StorageFactory implementation class via the derby.subSubProtocol.xxx system property. So, to use StorageFactory implementation class MyStorageFactory with database myDB you would set the system property "derby.subSubProtocol.mysf=MyStorageFactory" and use the URL "jdbc:derby:mysf:myDB" to connect to the database.
See Also:   WritableStorageFactory
See Also:   StorageFile
See Also:   StorageRandomAccessFile
See Also:    java.io.File
See Also:    java.io.RandomAccessFile
See Also:    java.io.InputStream
See Also:    java.io.OutputStream



Field Summary
 intVERSION_NUMBER
     The version number of this version of the StorageFactory interface and its subsidiary interfaces.


Method Summary
public  StringgetCanonicalName()
     Get the canonical name of the database.
public  chargetSeparator()
     Get the pathname separator character used by the StorageFile implementation.
public  intgetStorageFactoryVersion()
    
public  StorageFilegetTempDir()
     Get the abstract name of the directory that holds temporary files.

The StorageFactory implementation is not required to make temporary files persistent.

public  voidinit(String home, String databaseName, String tempDirName, String uniqueName)
     Classes implementing the StorageFactory interface must have a null constructor.
public  booleanisFast()
     This method is used to determine whether the storage is fast (RAM based) or slow (disk based).
public  booleanisReadOnlyDatabase()
     Determine whether the database is read only.
public  StorageFilenewStorageFile(String path)
     Construct a StorageFile from a path name.
Parameters:
  path - The path name of the file.
public  StorageFilenewStorageFile(String directoryName, String fileName)
     Construct a non-temporary StorageFile from a directory and file name.
Parameters:
  directoryName - The directory part of the path name.
public  StorageFilenewStorageFile(StorageFile directoryName, String fileName)
     Construct a StorageFile from a directory and file name.
public  voidshutdown()
     The shutdown method is called during the normal shutdown of the database.
public  booleansupportsRandomAccess()
     Determine whether the storage supports random access.

Field Detail
VERSION_NUMBER
int VERSION_NUMBER(Code)
The version number of this version of the StorageFactory interface and its subsidiary interfaces.





Method Detail
getCanonicalName
public String getCanonicalName() throws IOException(Code)
Get the canonical name of the database. This is a name that uniquely identifies it. It is system dependent. The normal, disk based implementation uses method java.io.File.getCanonicalPath on the directory holding the database to construct the canonical name. the canonical name
exception:
  IOException - if an IO error occurred during the construction of the name.



getSeparator
public char getSeparator()(Code)
Get the pathname separator character used by the StorageFile implementation. This is the separator that must be used in directory and file name strings. the pathname separator character. (Normally '/' or '\').



getStorageFactoryVersion
public int getStorageFactoryVersion()(Code)
the StorageFactory version supported by this implementation



getTempDir
public StorageFile getTempDir()(Code)
Get the abstract name of the directory that holds temporary files.

The StorageFactory implementation is not required to make temporary files persistent. That is, files created in the temp directory are not required to survive a shutdown of the database engine.

However, files created in the temp directory must be writable, even if the database is otherwise read-only. a directory name




init
public void init(String home, String databaseName, String tempDirName, String uniqueName) throws IOException(Code)
Classes implementing the StorageFactory interface must have a null constructor. The init method is called when the database is booted up to initialize the class. It should perform all actions necessary to start the basic storage, such as creating a temporary file directory. This method should not create the database directory.

The init method will be called once, before any other method is called, and will not be called again.
Parameters:
  home - The name of the directory containing the database. It comes from the system.home system property.It may be null. A storage factory may decide to ignore this parameter. (For instance the classpathstorage factory ignores it).
Parameters:
  databaseName - The name of the database (directory). The name does not include the subsubprotocol.If null then the storage factory will only be used to deal with the directory containingthe databases.
Parameters:
  tempDirName - The name of the temporary file directory set in properties. If null then a defaultdirectory should be used. Each database should get a separate temporary filedirectory within this one to avoid collisions.
Parameters:
  uniqueName - A unique name that can be used to create the temporary file directory for this database.If null then temporary files will not be created in this StorageFactory instance, and thetemporary file directory should not be created.
exception:
  IOException -




isFast
public boolean isFast()(Code)
This method is used to determine whether the storage is fast (RAM based) or slow (disk based). It may be used by the database engine to determine the default size of the page cache. true if the storage is fast, false if it is slow.



isReadOnlyDatabase
public boolean isReadOnlyDatabase()(Code)
Determine whether the database is read only. The database engine supports read-only databases, even in file systems that are writable. true if the storage is read only, false if it is writable.



newStorageFile
public StorageFile newStorageFile(String path)(Code)
Construct a StorageFile from a path name.
Parameters:
  path - The path name of the file. If null then return the database directory.If this parameter denotes the temp directory or a directory under the tempdirectory then the resulting StorageFile denotes a temporary file. Otherwisethe path must be relative to the database and the resulting StorageFile denotes aregular database file (non-temporary). A corresponding StorageFile object



newStorageFile
public StorageFile newStorageFile(String directoryName, String fileName)(Code)
Construct a non-temporary StorageFile from a directory and file name.
Parameters:
  directoryName - The directory part of the path name. If this parameter denotes thetemp directory or a directory under the temp directory then the resultingStorageFile denotes a temporary file. Otherwise the directory name must berelative to the database and the resulting StorageFile denotes aregular database file (non-temporary).
Parameters:
  fileName - The name of the file within the directory. A corresponding StorageFile object



newStorageFile
public StorageFile newStorageFile(StorageFile directoryName, String fileName)(Code)
Construct a StorageFile from a directory and file name. The StorageFile may denote a temporary file or a non-temporary database file, depending upon the directoryName parameter.
Parameters:
  directoryName - The directory part of the path name. If this parameter denotes thetemp directory or a directory under the temp directory then the resultingStorageFile denotes a temporary file. Otherwise the resulting StorageFile denotes aregular database file (non-temporary).
Parameters:
  fileName - The name of the file within the directory. A corresponding StorageFile object



shutdown
public void shutdown()(Code)
The shutdown method is called during the normal shutdown of the database. However, the database engine cannot guarantee that shutdown will be called. If the JVM terminates abnormally then it will not be called.



supportsRandomAccess
public boolean supportsRandomAccess()(Code)
Determine whether the storage supports random access. If random access is not supported then it will only be accessed using InputStreams and OutputStreams (if the database is writable). true if the storage supports random access, false if it is writable.



www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.