Fedora-API-A

The Fedora Access service defines an open interface for accessing digital objects. The access operations include methods to do reflection on a digital object (i.e., to discover the kinds of disseminations that are available on the object), and to request disseminations. The major function of the Fedora Access service is to fulfill a client's request for dissemination. To support disseminations, the underlying repository system must evaluate the behavior associations specified in a digital object, and figure out how to dispatch a service request to a supporting service with which the digital object associates. The supporting service may be internal to the repository system, or it may be an external web service that the repository must call upon. The underlying repostitory system facilitates all external service bindings on behalf of the client, simply returning a dissemination result via the Access service layer.

describeRepository

fedora-types:RepositoryInfo describeRepository( )

Gets key metadata fields that describe the Fedora repository server including repository name, version, baseURL, pid namespace, sample request URLs.

Parameters:

Returns:

A data structure that contains key metadata describing the Fedora repository server including repository name, version, base URL, pid namespace, and sample request URLs.


findObjects

fedora-types:FieldSearchResult findObjects(
                    fedora-types:ArrayOfString resultFields,
                    xsd:nonNegativeInteger maxResults,
                    fedora-types:FieldSearchQuery query )

Gets the requested ObjectFields on all objects in the repository matching the given criteria.

Parameters:

resultFields - an array of unique object fields from fedora-types:ObjectFields. This tells the server which fields should be returned from the query.
maxResults - the maximum number of results that the server should provide at once. This may be null, in which case the server will return the maximum number of results it has been configured to return.
query - the terms or conditions for the search.

Returns:

containing an array of ObjectFields and, possibly, a listSession.


getDatastreamDissemination

fedora-types:MIMETypedStream getDatastreamDissemination(
                    xsd:string pid,
                    xsd:string dsID,
                    xsd:string asOfDateTime )

Gets a datastream in the digital object. This is a shorter, convenience method for getDissemination http://hostname:port/fedora/get/pid/fedora-system:3/getItem?itemID=dsID. Note that if a particular date/timestamped view of a datastream is needed, getDissemination still must be used. When making direct links to datastreams within web pages or applications, this syntax is recommended.

Parameters:

pid - the persistent identifier of the object.
dsID - the identifier of the datastream to get.
asOfDateTime - the date/time stamp specifying that the dissemination should reflect what the object looked like at a certain date and time. If this part is not present in the request, or if it is empty, the current view of the object (the most recent time) is assumed.

Returns:

the datastream as a mime-typed stream.


getDissemination

fedora-types:MIMETypedStream getDissemination(
                    xsd:string pid,
                    xsd:string bDefPid,
                    xsd:string methodName,
                    fedora-types:ArrayOfProperty parameters,
                    xsd:string asOfDateTime )

Gets a MIME-typed view of a digital object, given the behavior definition id, a behavior method name, and any behavior method parameters. Information about behavior method names and parameters is obtained via other APA-A operations (see getObjectMethods, getBehaviorMethods, and getBehaviorMethodsXML). The getDissemination operation essentially encapsulates another operation (a behavior method on the Fedora object). The getDissemination operation hides from the client the details of how a behavior method is fulfilled (i.e., what behavior mechanism performs the work, and how the request is invoked upon the behavior mechanism).

Parameters:

pid - the pid of the object.
bDefPid - the pid of the behavior definition.
methodName - the name of the method to invoke.
parameters - a set of name-value pairs that act as parameters to the method.
asOfDateTime - the date/time stamp specifying the desired view of the object. If null, the current view of the object (the most recent time) is assumed.

Returns:

the desired view of the object as a mime-typed stream.


getObjectHistory

fedora-types:ArrayOfString getObjectHistory( xsd:string pid )

Gets a list of timestamps indicating when components changed in an object. This is a set of timestamps indicating when a datastream or disseminator was created or modified in the object. These timestamps can be used to request a timestamped dissemination request to view the object as it appeared at a specific point in time.

Parameters:

pid - the pid of the object.

Returns:

a list of timestamps indicating when components in the object were created or modified.


getObjectProfile

fedora-types:ObjectProfile getObjectProfile(
                    xsd:string pid,
                    xsd:string asOfDateTime )

Gets a profile of the object which includes key metadata fields and URLs for the object Dissemination Index and the object Item Index. Can be thought of as a default view of the object.

Parameters:

pid - the pid of the object.
asOfDateTime - the date/time stamp specifying the desired view of the object. If null, the current view of the object (the most recent time) is assumed.

Returns:

A data structure that contains key metadata about the object, including URLs to view the Dissemination Index and the Item Index for the object.


listDatastreams

 listDatastreams(
                    xsd:string pid,
                    xsd:string asOfDateTime )

Inquires upon all object Datastreams to obtain datastreams contained by a digital object. This returns a set of datastream locations that represent all possible datastreams available in the object.

Parameters:

pid - the pid of the object.
asOfDateTime - the date/time stamp specifying the desired view of the object. If null, the current view of the object (the most recent time) is assumed.

Returns:

A set of method definitions that represent all possible disseminations that can be run on the object.


listMethods

fedora-types:ArrayOfObjectMethodsDef listMethods(
                    xsd:string pid,
                    xsd:string asOfDateTime )

Inquires upon all object Disseminators to obtain Behavior Definition pids, and methodNames supported by a digital object. This returns a set of method definitions that represent all possible disseminations that can be run on the object.

Parameters:

pid - the pid of the object.
asOfDateTime - the date/time stamp specifying the desired view of the object. If null, the current view of the object (the most recent time) is assumed.

Returns:

A set of method definitions that represent all possible disseminations that can be run on the object.


resumeFindObjects

fedora-types:FieldSearchResult resumeFindObjects( xsd:string sessionToken )

Gets the next list of results from a truncated findObjects response.

Parameters:

sessionToken - the token of the session in which the next few results can be found.

Returns:

containing an array of ObjectFields and, possibly, a listSession.