org.gcube.contentmanagement.gcubedocumentlibrary.io
Interface Reader

All Known Implementing Classes:
BaseReader, CachingReader, DocumentReader, ViewReader

public interface Reader

A set of facilities to retrieve document descriptions, or elements of those descriptions, from remote collections. Clients can use Projections to:

Author:
Fabio Simeoni (University of Strathclyde)

Method Summary
 java.lang.String collectionID()
          Returns the identifier of the target collection.
  get(java.util.Iterator<java.lang.String> ids, Projection<?,?> p)
          Retrieves a stream of proxies of document descriptions in the target collections.
  get(Projection<?,?> p)
          Retrieves a stream of proxies of document descriptions in the target collection.
 GCubeDocument get(java.lang.String id, Projection<?,?> p)
          Returns a proxy of a document description in the target collection.
<EL extends GCubeInnerElement>
resolve(java.util.Iterator<java.net.URI> uris, Projection<EL,?> p)
          Retrieves a stream of proxies of elements of document descriptions in the target collection.
<EL extends GCubeInnerElement>
EL
resolve(java.net.URI uri, Projection<EL,?> p)
          Retrieves a proxy of an element of a document description in the target collection.
 

Method Detail

get

GCubeDocument get(java.lang.String id,
                  Projection<?,?> p)
                  throws UnknownDocumentException,
                         DiscoveryException,
                         GCUBEException,
                         java.lang.Exception
Returns a proxy of a document description in the target collection.

Parameters:
id - the identifier of the description.
p - a projection over the inner elements of the description.
Returns:
the proxy of the description.
Throws:
UnknownDocumentException - if a description with the given identifier and matching the given projection is unknown in the target collection.
DiscoveryException - if the operation could not be completed due to collection discovery errors.
GCUBEException - if the operation could not be completed due to other forms of remote errors.
java.lang.Exception - if the operation could not be completed due to local errors.

resolve

<EL extends GCubeInnerElement> EL resolve(java.net.URI uri,
                                          Projection<EL,?> p)
                                     throws java.lang.IllegalArgumentException,
                                            UnknownDocumentException,
                                            DiscoveryException,
                                            GCUBEException,
                                            java.lang.Exception
Retrieves a proxy of an element of a document description in the target collection.

Type Parameters:
EL - the type of the element.
Parameters:
uri - the content URI of the element.
p - a projection over the element.
Returns:
the proxy of the element.
Throws:
java.lang.IllegalArgumentException - if the URI is not a content URI, or if it does not refers to a description in the target collection.
UnknownDocumentException - if the URI does not identify an element that matches the given projection.
DiscoveryException - if the operation could not be completed due to collection discovery errors.
GCUBEException - if the operation could not be completed due to other forms of remote errors.
java.lang.Exception - if the operation could not be completed due to local errors.

get

 get(java.util.Iterator<java.lang.String> ids,
          Projection<?,?> p)
          throws DiscoveryException,
                 GCUBEException,
                 java.lang.Exception
Retrieves a stream of proxies of document descriptions in the target collections.

Parameters:
ids - an Iterator over the identifiers of the descriptions.
p - a projection over the inner elements of the descriptions.
Returns:
a RemoteIterator over the description proxies.
Throws:
DiscoveryException - if the operation could not be completed due to service discovery errors.
GCUBEException - if the operation could not be completed due to other forms of remote errors.
java.lang.Exception - if the operation could not be completed due to local errors.

resolve

<EL extends GCubeInnerElement>  resolve(java.util.Iterator<java.net.URI> uris,
                                             Projection<EL,?> p)
              throws DiscoveryException,
                     GCUBEException,
                     java.lang.Exception
Retrieves a stream of proxies of elements of document descriptions in the target collection.

Type Parameters:
EL - the type of the elements.
Parameters:
uris - an Iterator over the content URIs of the elements.
p - the projection over the elements.
Returns:
a RemoteIterator over the proxies of the elements.
Throws:
DiscoveryException - if the operation could not be completed due to collection discovery errors.
GCUBEException - if the operation could not be completed due to other forms of remote errors.
java.lang.Exception - if the operation could not be completed due to local errors.

get

 get(Projection<?,?> p)
          throws DiscoveryException,
                 GCUBEException,
                 java.lang.Exception
Retrieves a stream of proxies of document descriptions in the target collection.

Parameters:
p - a projection over the inner elements of the descriptions.
Returns:
a RemoteIterator over the proxies of the descriptions.
Throws:
DiscoveryException - if the operation could not be completed due to collection discovery errors.
GCUBEException - if the operation could not be completed due to other forms of remote errors.
java.lang.Exception - if the operation could not be completed due to local errors.

collectionID

java.lang.String collectionID()
Returns the identifier of the target collection.

Returns:
the identifier.