org.xmldb.api
public class DatabaseManager extends Object
DatabaseManager is the entry point for the API and enables you to get the
initial Collection references necessary to do anything useful with the API.
DatabaseManager is intended to be
provided as a concrete implementation in a particular programming
language. Individual language mappings should define the exact syntax and
semantics of its use.
| Field Summary | |
|---|---|
| protected static String | URI_PREFIX |
| Method Summary | |
|---|---|
| static void | deregisterDatabase(Database database)
Deregisters a Database implementation from the DatabaseManager. |
| static Collection | getCollection(String uri)
Retrieves a Collection instance from the database for the
given URI. |
| static Collection | getCollection(String uri, String username, String password)
Retrieves a Collection instance from the database for the
given URI. |
| static String | getConformanceLevel(String uri)
Returns the Core Level conformance value for the provided URI. |
| protected static Database | getDatabase(String uri)
Retrieves the registered Database instance associated with the provided
URI.
|
| static Database[] | getDatabases()
Returns a list of all available Database implementations
that have been registered with this DatabaseManager.
|
| static String | getProperty(String name)
Retrieves a property that has been set for the DatabaseManager.
|
| static void | registerDatabase(Database database)
Registers a new Database implementation with the
DatabaseManager.
|
| static void | setProperty(String name, String value)
Sets a property for the DatabaseManager.
|
| protected static String | stripURIPrefix(String uri)
Removes the URI_PREFIX from the front of the URI. |
Database implementation from the DatabaseManager. Once a
Database has been deregistered it can no longer be used to handle
requests.
Parameters: database The Database instance to deregister.
Throws: XMLDBException with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor
specific errors that occur.
Collection instance from the database for the
given URI. The format of the majority of the URI is database
implementation specific however the uri must begin with characters xmldb:
and be followed by the name of the database instance as returned by
Database.getName() and a colon
character. An example would be for the database named "vendordb" the URI
handed to getCollection would look something like the following.
xmldb:vendordb://host:port/path/to/collection. The xmldb:
prefix will be removed from the URI prior to handing the URI to the
Database instance for handling.
This method is called when no authentication is necessary for the
database.
Parameters: uri The database specific URI to use to locate the collection.
Returns: A Collection instance for the requested collection or
null if the collection could not be found.
Throws: XMLDBException with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor
specific errors that occur.
ErrroCodes.INVALID_URI If the URI is not in a valid format.
ErrroCodes.NO_SUCH_DATABASE If a Database
instance could not be found to handle the provided URI.
Collection instance from the database for the
given URI. The format of the majority of the URI is database
implementation specific however the uri must begin with characters xmldb:
and be followed by the name of the database instance as returned by
Database.getName() and a colon
character. An example would be for the database named "vendordb" the URI
handed to getCollection would look something like the following.
xmldb:vendordb://host:port/path/to/collection. The xmldb:
prefix will be removed from the URI prior to handing the URI to the
Database instance for handling.
Parameters: uri The database specific URI to use to locate the collection. username The username to use for authentication to the database or null if the database does not support authentication. password The password to use for authentication to the database or null if the database does not support authentication.
Returns: A Collection instance for the requested collection or
null if the collection could not be found.
Throws: XMLDBException with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor
specific errors that occur.
ErrroCodes.INVALID_URI If the URI is not in a valid format.
ErrroCodes.NO_SUCH_DATABASE If a Database
instance could not be found to handle the provided URI.
ErrroCodes.PERMISSION_DENIED If the username
and password were not accepted by the database.
Parameters: uri The database specific URI to use to locate the collection.
Returns: The XML:DB Core Level conformance for the uri.
Throws: XMLDBException with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor
specific errors that occur.
ErrroCodes.INVALID_URI If the URI is not in a valid format.
ErrroCodes.NO_SUCH_DATABASE If a Database
instance could not be found to handle the provided URI.
Database instance associated with the provided
URI.
Parameters: uri The uri containing the database reference.
Returns: the requested Database instance.
Database implementations
that have been registered with this DatabaseManager.
Returns: An array of Database instances.
One for each Database registered
with the DatabaseManager. If no Database
instances exist then an empty array is returned.
DatabaseManager.
Parameters: name The property name
Returns: The property value
Database implementation with the
DatabaseManager.
Parameters: database The database instance to register.
Throws: XMLDBException with expected error codes.
ErrorCodes.VENDOR_ERROR for any vendor
specific errors that occur.
ErrorCodes.INVALID_DATABASE if the provided Database
instance is invalid.
DatabaseManager.
Parameters: name The property name value The value to set.
Parameters: uri The full URI to strip.
Returns: The database specific portion of the URI.