XML:DB API

org.xmldb.api
Class DatabaseManager

java.lang.Object
  extended by org.xmldb.api.DatabaseManager

public class DatabaseManager
extends java.lang.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.


Constructor Summary
DatabaseManager()
           
 
Method Summary
static void deregisterDatabase(Database database)
          Deregisters a Database implementation from the DatabaseManager.
static Collection getCollection(java.lang.String uri)
          Retrieves a Collection instance from the database for the given URI.
static Collection getCollection(java.lang.String uri, java.lang.String username, java.lang.String password)
          Retrieves a Collection instance from the database for the given URI.
static java.lang.String getConformanceLevel(java.lang.String uri)
          Returns the Core Level conformance value for the provided URI.
static Database[] getDatabases()
          Returns a list of all available Database implementations that have been registered with this DatabaseManager.
static java.lang.String getProperty(java.lang.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(java.lang.String name, java.lang.String value)
          Sets a property for the DatabaseManager.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DatabaseManager

public DatabaseManager()
Method Detail

getDatabases

public static Database[] getDatabases()
Returns a list of all available 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.

registerDatabase

public static void registerDatabase(Database database)
                             throws XMLDBException
Registers a new 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.

deregisterDatabase

public static void deregisterDatabase(Database database)
                               throws XMLDBException
Deregisters a 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.

getCollection

public static Collection getCollection(java.lang.String uri)
                                throws XMLDBException
Retrieves a 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.

getCollection

public static Collection getCollection(java.lang.String uri,
                                       java.lang.String username,
                                       java.lang.String password)
                                throws XMLDBException
Retrieves a 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.

getConformanceLevel

public static java.lang.String getConformanceLevel(java.lang.String uri)
                                            throws XMLDBException
Returns the Core Level conformance value for the provided URI. The current API defines valid resuls of "0" or "1" as defined in the XML:DB API specification.

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.

getProperty

public static java.lang.String getProperty(java.lang.String name)
Retrieves a property that has been set for the DatabaseManager.

Parameters:
name - The property name
Returns:
The property value

setProperty

public static void setProperty(java.lang.String name,
                               java.lang.String value)
Sets a property for the DatabaseManager.

Parameters:
name - The property name
value - The value to set.

XML:DB API

Copyright (C) XML:DB Initiative. All rights reserved.%lt;/font>