dbXML API

## org.xmldb.api.sdk
Class SimpleCollection

    java.lang.Object
      |
      +--org.xmldb.api.sdk.SimpleConfigurable
            |
            +--org.xmldb.api.sdk.SimpleCollection

All Implemented Interfaces:
  Collection, Configurable

Direct Known Subclasses:
  CollectionImpl

public abstract class SimpleCollection
extends SimpleConfigurable
implements Collection

SimpleCollection provides an easy starting point for implementing the Collection interface. It provides a default Service management functionality but all other functionality must be implemented by the extending class.

Constructor Summary
`SimpleCollection()`

Method Summary
`void` `close()` Releases all resources consumed by the `Collection`.
`java.lang.String` `createId()` Creates a new unique ID within the context of the `Collection`
`Resource` `createResource(java.lang.String id, java.lang.String type)` Creates a new empty `Resource` with the provided id.
`Collection` `getChildCollection(java.lang.String name)` Returns a `Collection` instance for the requested child collection if it exists.
`int` `getChildCollectionCount()` Returns the number of child collections under this `Collection` or 0 if no child collections exist.
`java.lang.String` `getName()` Returns the name associated with the Configurable object.
`Collection` `getParentCollection()` Returns the parent collection for this collection or null if no parent collection exists.
`Resource` `getResource(java.lang.String id)` Retrieves a `Resource` from the database.
`int` `getResourceCount()` Returns the number of resources currently stored in this collection or 0 if the collection is empty.
`Service` `getService(java.lang.String name, java.lang.String version)` Get a Service instance based on the name and version.
`Service[]` `getServices()` Returns the list of Services supported by this Collection.
`java.lang.String[]` `listChildCollections()` Returns a list of collection names naming all child collections of the current collection.
`java.lang.String[]` `listResources()` Returns a list of the ids for all resources stored in the collection.
`void` `registerService(Service service)` Registers a new Service with this Collection.
`void` `removeResource(Resource res)` Removes the `Resource` from the database.
`void` `storeResource(Resource res)` Stores the provided resource into the database.

Methods inherited from class org.xmldb.api.sdk.SimpleConfigurable
`getProperty, setProperty`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.xmldb.api.base.Collection
`isOpen`

Methods inherited from interface org.xmldb.api.base.Configurable
`getProperty, setProperty`

Constructor Detail

### SimpleCollection

    public SimpleCollection()

Method Detail

### getName

    public java.lang.String getName()
                             throws XMLDBException

  Returns the name associated with the Configurable object.
  Specified by:
    `getName` in interface `Collection`
  Returns:
    the name of the object.

### getServices

    public Service[] getServices()
                          throws XMLDBException

  Returns the list of Services supported by this Collection.
  Specified by:
    `getServices` in interface `Collection`
  Returns:
    A list of supported Services

### getService

    public Service getService(java.lang.String name,
                              java.lang.String version)
                       throws XMLDBException

  Get a Service instance based on the name and version.
  Specified by:
    `getService` in interface `Collection`
  Parameters:
    `name` - The Service instance to retrieve
    `version` - The version of the service to retrieve.
  Returns:
    The Service instance or null if no service was found.

### registerService

    public void registerService(Service service)
                         throws XMLDBException

  Registers a new Service with this Collection.
  Parameters:
    `service` - The Service instance to register.

### getParentCollection

    public Collection getParentCollection()
                                   throws XMLDBException

  Returns the parent collection for this collection or null if no parent collection exists.
  Specified by:
    `getParentCollection` in interface `Collection`
  Returns:
    the parent `Collection` instance.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### getChildCollectionCount

    public int getChildCollectionCount()
                                throws XMLDBException

  Returns the number of child collections under this `Collection` or 0 if no child collections exist.
  Specified by:
    `getChildCollectionCount` in interface `Collection`
  Returns:
    the number of child collections.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### listChildCollections

    public java.lang.String[] listChildCollections()
                                            throws XMLDBException

  Returns a list of collection names naming all child collections of the current collection. If no child collections exist an empty list is returned.
  Specified by:
    `listChildCollections` in interface `Collection`
  Returns:
    an array containing collection names for all child collections.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### getChildCollection

    public Collection getChildCollection(java.lang.String name)
                                  throws XMLDBException

  Returns a `Collection` instance for the requested child collection if it exists.
  Specified by:
    `getChildCollection` in interface `Collection`
  Parameters:
    `name` - the name of the child collection to retrieve.
  Returns:
    the requested child collection or null if it couldn't be found.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### getResourceCount

    public int getResourceCount()
                         throws XMLDBException

  Returns the number of resources currently stored in this collection or 0 if the collection is empty.
  Specified by:
    `getResourceCount` in interface `Collection`
  Returns:
    the number of resource in the collection.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### listResources

    public java.lang.String[] listResources()
                                     throws XMLDBException

  Returns a list of the ids for all resources stored in the collection.
  Specified by:
    `listResources` in interface `Collection`
  Returns:
    a string array containing the names for all `Resource`s in the collection.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### createResource

    public Resource createResource(java.lang.String id,
                                   java.lang.String type)
                            throws XMLDBException

  Creates a new empty `Resource` with the provided id. The type of `Resource` returned is determined by the `type` parameter. The XML:DB API currently defines "XMLResource" and "BinaryResource" as valid resource types. The `id` provided must be unique within the scope of the collection. If `id` is null or its value is empty then an id is generated by calling `createId()`. The `Resource` created is not stored to the database until `storeResource()` is called.
  Specified by:
    `createResource` in interface `Collection`
  Parameters:
    `id` - the unique id to associate with the created `Resource`.
    `type` - the `Resource` type to create.
  Returns:
    an empty `Resource` instance.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.
    `ErrorCodes.UNKNOWN_RESOURCE_TYPE` if the `type` parameter is not a known `Resource` type.

### removeResource

    public void removeResource(Resource res)
                        throws XMLDBException

  Removes the `Resource` from the database.
  Specified by:
    `removeResource` in interface `Collection`
  Parameters:
    `res` - the resource to remove.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.
    `ErrorCodes.INVALID_RESOURCE` if the `Resource` is not valid.
    `ErrorCodes.NO_SUCH_RESOURCE` if the `Resource` is not known to this `Collection`.

### storeResource

    public void storeResource(Resource res)
                       throws XMLDBException

  Stores the provided resource into the database. If the resource does not already exist it will be created. If it does already exist it will be updated.
  Specified by:
    `storeResource` in interface `Collection`
  Parameters:
    `res` - the resource to store in the database.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.
    `ErrorCodes.INVALID_RESOURCE` if the `Resource` is not valid.

### getResource

    public Resource getResource(java.lang.String id)
                         throws XMLDBException

  Retrieves a `Resource` from the database. If the `Resource` could not be located a null value will be returned.
  Specified by:
    `getResource` in interface `Collection`
  Parameters:
    `id` - the unique id for the requested resource.
  Returns:
    The retrieved `Resource` instance.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### createId

    public java.lang.String createId()
                              throws XMLDBException

  Creates a new unique ID within the context of the `Collection`
  Specified by:
    `createId` in interface `Collection`
  Returns:
    the created id as a string.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### close

    public void close()
               throws XMLDBException

  Releases all resources consumed by the `Collection`. The `close` method must always be called when use of a `Collection` is complete.
  Specified by:
    `close` in interface `Collection`
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

dbXML API

Copyright (c) 1999-2001 The dbXML Group, All rights reserved