ViewReader
Date: 2013-06-18

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.gcube.contentmanagement.gcubedocumentlibrary.io
Class ViewReader

    java.lang.Object
      org.gcube.contentmanagement.gcubedocumentlibrary.io.BaseReader
          org.gcube.contentmanagement.gcubedocumentlibrary.io.ViewReader

All Implemented Interfaces:
  Reader

    public class ViewReader

extends BaseReader

A `Reader` that uses a predefined `Projection` to view any other `Projection`s that is used to constrain the properties of the documents in the target collection. In this sense, the view defines a view over the target collection and for all retrieval requests.

Author:
  Fabio Simeoni (University of Strathclyde)

Constructor Summary
`ViewReader(Projection<?,?> f, Reader r)` Creates an instance with a given view and a `DocumentReader`.

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.
`Projection<?,?>` | `view()` Returns the view definition used by this reader.

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

Constructor Detail

### ViewReader

    public ViewReader(Projection<?,?> f,
                      Reader r)

  Creates an instance with a given view and a `DocumentReader`.

  Parameters:
    `f` - the `Projection` that acts as the view for the view.
    `r` - the `DocumentReader` to which retrieval requests are dispatched after filtering

Method Detail

### collectionID

    public java.lang.String collectionID()

  Returns the identifier of the target collection.

  Returns:
    the identifier.

### get

    public GCubeDocument get(java.lang.String id,
                             Projection<?,?> p)
                      throws InvalidProjectionException,
                             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.
    `InvalidProjectionException`

### view

    public Projection<?,?> view()

  Returns the view definition used by this reader.

  Returns:
    the view definition.

### get

    public  get(java.util.Iterator<java.lang.String> ids,
                     Projection<?,?> p)
              throws InvalidProjectionException,
                     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.
    `InvalidProjectionException`

### get

    public  get(Projection<?,?> p)
              throws InvalidProjectionException,
                     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:
    `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.
    `InvalidProjectionException`

### resolve

    public <EL extends GCubeInnerElement> EL resolve(java.net.URI uri,
                                                     Projection<EL,?> p)
                                         throws java.lang.IllegalArgumentException,
                                                InvalidProjectionException,
                                                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.
    `InvalidProjectionException`

### resolve

    public <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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD