## org.xmldb.api.base
Interface ResourceSet

All Known Implementing Classes:
  LocalResourceSet, MapResourceSet, RemoteResourceSet

public interface ResourceSet

ResourceSet is a container for a set of resources. Generally a `ResourceSet` is obtained as the result of a query.

Method Summary
`void` `addAll(ResourceSet rSet)` Adds all `Resource` instances in the resourceSet to this set.
`void` `addResource(Resource res)` Adds a `Resource` instance to the set.
`void` `clear()` Removes all `Resource` instances from the set.
`ResourceIterator` `getIterator()` Returns an iterator over all `Resource` instances stored in the set.
`Resource` `getMembersAsResource()` Returns a Resource containing an XML representation of all resources stored in the set.
`Resource` `getResource(int index)` Returns the `Resource` instance stored at the index specified by index.
`int` `getSize()` Returns the number of resources contained in the set.
`void` `removeResource(int index)` Removes the Resource located at `index` from the set.

Method Detail

### getResource

    public Resource getResource(int index)
                         throws XMLDBException

  Returns the `Resource` instance stored at the index specified by index.

  If the underlying implementation uses a paging or streaming optimization for retrieving Resource instances. Calling this method MAY result in a block until the requested Resource has been downloaded.

  Parameters:
    `index` - the index of the resource to retrieve.
  Returns:
    The `Resource` instance
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.
    `ErrorCodes.NO_SUCH_RESOURCE if the index is out of range for the set.`

### addResource

    public void addResource(Resource res)
                     throws XMLDBException

  Adds a `Resource` instance to the set.

  Parameters:
    `res` - The `Resource` to add to the set.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### addAll

    public void addAll(ResourceSet rSet)
                throws XMLDBException

  Adds all `Resource` instances in the resourceSet to this set.

  Parameters:
    `rSet` - The `ResourceSet` containing all the `Resource`'s to add to the set.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### removeResource

    public void removeResource(int index)
                        throws XMLDBException

  Removes the Resource located at `index` from the set.

  Parameters:
    `index` - The index of the `Resource` instance to remove.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### getIterator

    public ResourceIterator getIterator()
                                 throws XMLDBException

  Returns an iterator over all `Resource` instances stored in the set.

  Returns:
    a `ResourceIterator` over all `Resource` instances in the set.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### getMembersAsResource

    public Resource getMembersAsResource()
                                  throws XMLDBException

  Returns a Resource containing an XML representation of all resources stored in the set.

  TODO: Specify the schema used for this

  Returns:
    A `Resource` instance containing an XML representation of all set members.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### getSize

    public int getSize()
                throws XMLDBException

  Returns the number of resources contained in the set.

  If the underlying implementation uses a paging or streaming optimization for retrieving `Resource` instances. Calling this method MAY force the downloading of all set members before the size can be determined.

  Returns:
    The number of `Resource` instances in the set.
  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

### clear

    public void clear()
               throws XMLDBException

  Removes all `Resource` instances from the set.

  Throws:
    `XMLDBException` - with expected error codes.
    `ErrorCodes.VENDOR_ERROR` for any vendor specific errors that occur.

Copyright (C) Wolfgang Meier. All rights reserved.