Differences between revisions 17 and 18
Revision 17 as of 2008-11-04 12:23:11
Size: 8765
Editor: abr
Comment:
Revision 18 as of 2008-11-04 12:50:07
Size: 10692
Editor: abr
Comment:
Deletions are marked like this. Additions are marked like this.
Line 85: Line 85:

Returns: the specified fields of each object matching the given criteria.



/**
 * Provides a simple field-based search service across all objects in the
 * repository.
 *
 * <p>Key object metadata and dublin core fields are searchable from via
 * implementations of this interface.
 *
 * <p>Key fields include:<dir> <i>pid, label, state, ownerId, cDate,
 * mDate, dcmDate</i></dir>
 *
 * <p>Dublin core fields include:<dir> <i>title, creator, subject, description,
 * publisher, contributor, date, format, identifier, source, language,
 * relation, coverage, rights</i></dir>
 *
 * @author Chris Wilper
 */





Input parameters:
 * {{{String pid}}} The pid of the object.

Returns:
 * {{{String[]}}} An array containing the list of timestamps indicating when changes were made to the object.

Throws:
 * {{{java.rmi.RemoteException}}}



The possible values for {{{resultfield}}} are the following:
 * Key fields: pid, label, state, ownerId, cDate, mDate, dcmDate
 * Dublin core fields: title, creator, subject, description, publisher, contributor, date, format, identifier, source, language, relation, coverage, rights


Returns:
 * {{{FieldSearchResult}}}
  * {{{ListSession listsession}}} The information nessesary for resuming the search.
   * {{{String token}}}: The token to be used in resumeFindObjects
   * {{{int cursor}}}: The index of the first object in this resultlist, in the complete resultlist.
   * {{{int completeListSize}}}: The size of the complete resultlist.
   * {{{String expirationDate}}}: The expirationdate for the token. The last time when the search can be resumed.
  * {{{ObjectFields[] resultlist}}}: the specified fields of each object matching the given criteria.
   * {{{String pid}}} Only set if the relevant field was set in resultfields
   * {{{String label}}} Only set if the relevant field was set in resultfields
   * {{{String state}}} Only set if the relevant field was set in resultfields
   * {{{String ownerId}}} Only set if the relevant field was set in resultfields
   * {{{String cDate}}} Only set if the relevant field was set in resultfields
   * {{{String mDate}}} Only set if the relevant field was set in resultfields
   * {{{String dcmDate}}} Only set if the relevant field was set in resultfields
   * {{{String[] title}}} Only set if the relevant field was set in resultfields
   * {{{String[] creator}}} Only set if the relevant field was set in resultfields
   * {{{String[] subject}}} Only set if the relevant field was set in resultfields
   * {{{String[] description}}} Only set if the relevant field was set in resultfields
   * {{{String[] publisher}}} Only set if the relevant field was set in resultfields
   * {{{String[] contributor}}} Only set if the relevant field was set in resultfields
   * {{{String[] date}}} Only set if the relevant field was set in resultfields
   * {{{String[] type}}} Only set if the relevant field was set in resultfields
   * {{{String[] format}}} Only set if the relevant field was set in resultfields
   * {{{String[] identifier}}} Only set if the relevant field was set in resultfields
   * {{{String[] source}}} Only set if the relevant field was set in resultfields
   * {{{String[] language}}} Only set if the relevant field was set in resultfields
   * {{{String[] relation}}} Only set if the relevant field was set in resultfields
   * {{{String[] coverage}}} Only set if the relevant field was set in resultfields
   * {{{String[] rights}}} Only set if the relevant field was set in resultfields

 

Throws:
 * {{{java.rmi.RemoteException}}}

API-A (Fedora Access service API)

TableOfContents

Repository Access

Anchor(describeRepository)

describeRepository

Gets information that describes the repository.

Returns:

  • RepositoryInfo

    • String repositoryName - The name of the Repository. Set in fedora.fcfg. Default "Fedora Repository"

    • String repositoryVersion - The version of Fedora running. Fedora 3.0 returns "3.0"

    • String repositoryBaseURL - The repository base url set in fedora.fcfg. Default "http://localhost:8080/fedora"

    • String repositoryPIDNamespace - The prefix to use for newly generated PIDs

    • String defaultExportFormat

    • String OAINamespace - The oai namespace. Default "example.org"

    • String[] adminEmailList - The email to the administrator. Default "bob@example.org" and "sally@example.org". Defined in fedora.fcfg.

    • String samplePID - An example pid, to show how to refer to objects. "doms:100"

    • String sampleOAIIdentifier - An example oai identifier, to show how to refer to records. Example: "oai:example.org:doms:100"

    • String sampleSearchURL - The url to the search service for the repository. Default "http://localhost:8080/fedora/search"

    • String sampleAccessURL - The url to an example object in the repository. Default "http://localhost:8080/fedora/get/demo:5"

    • String sampleOAIURL - The url to an oai record. Default "http://localhost:8080/fedora/oai?verb=Identify"

    • String[] retainPIDs - The list of pid prefixes, that cause the pid to not be autogenerated.

Throws:

  • java.rmi.RemoteException

Object Access

Anchor(getObjectProfile)

getObjectProfile

Gets the ObjectProfile of an 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.

Input parameters:

  • String pid The pid of the object.

  • String asOfDateTime The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.

Returns:

  • ObjectProfile Contains these fields

    • String pid

    • String objLabel

    • String[] objModels

    • String objCreateDate

    • String objLastModDate

    • String objDissIndexViewURL

    • String objItemIndexViewURL

Throws:

  • java.rmi.RemoteException

Anchor(getObjectHistory)

getObjectHistory

Gets a list of timestamps that correspond to modification dates of components. This currently includes changes to Datastreams and disseminators.

Input parameters:

  • String pid The pid of the object.

Returns:

  • String[] An array containing the list of timestamps indicating when changes were made to the object.

Throws:

  • java.rmi.RemoteException

Anchor(getObjectHistory)

findObjects

Lists the specified fields of each object matching the given criteria.

Input parameters:

  • String[] resultfields} The names of the fields to return.

  • int maxResults The maximum number of results to return at a time.

  • FieldSearchQuery query: The terms or conditions for the search. Either terms or conditions are used, not both.

    • String terms: The search terms

    • Condition[] conditions: The conditions on the results

      • String property: The property to condition. Possible fields are the same as for resultfields.

      • Operator operator: Possible values are: "has", "eq", "lt", "le", "gt" and "ge"

      • String value: The value the constrained property must adhere to

The possible values for resultfield are the following:

  • Key fields: pid, label, state, ownerId, cDate, mDate, dcmDate
  • Dublin core fields: title, creator, subject, description, publisher, contributor, date, format, identifier, source, language, relation, coverage, rights

Returns:

  • FieldSearchResult

    • ListSession listsession The information nessesary for resuming the search.

      • String token: The token to be used in resumeFindObjects

      • int cursor: The index of the first object in this resultlist, in the complete resultlist.

      • int completeListSize: The size of the complete resultlist.

      • String expirationDate: The expirationdate for the token. The last time when the search can be resumed.

    • ObjectFields[] resultlist: the specified fields of each object matching the given criteria.

      • String pid Only set if the relevant field was set in resultfields

      • String label Only set if the relevant field was set in resultfields

      • String state Only set if the relevant field was set in resultfields

      • String ownerId Only set if the relevant field was set in resultfields

      • String cDate Only set if the relevant field was set in resultfields

      • String mDate Only set if the relevant field was set in resultfields

      • String dcmDate Only set if the relevant field was set in resultfields

      • String[] title Only set if the relevant field was set in resultfields

      • String[] creator Only set if the relevant field was set in resultfields

      • String[] subject Only set if the relevant field was set in resultfields

      • String[] description Only set if the relevant field was set in resultfields

      • String[] publisher Only set if the relevant field was set in resultfields

      • String[] contributor Only set if the relevant field was set in resultfields

      • String[] date Only set if the relevant field was set in resultfields

      • String[] type Only set if the relevant field was set in resultfields

      • String[] format Only set if the relevant field was set in resultfields

      • String[] identifier Only set if the relevant field was set in resultfields

      • String[] source Only set if the relevant field was set in resultfields

      • String[] language Only set if the relevant field was set in resultfields

      • String[] relation Only set if the relevant field was set in resultfields

      • String[] coverage Only set if the relevant field was set in resultfields

      • String[] rights Only set if the relevant field was set in resultfields

Throws:

  • java.rmi.RemoteException

Datastream Access

Anchor(listDatastreams)

listDatastreams

Lists the datastreams of an object. See also [#getDatastreamDissemination getDatastreamDissemination]

Input parameters:

  • String pid The pid of the object.

  • String asOfDateTime The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.

Returns:

  • DatastreamDef[]

    • String ID

    • String label

    • String MIMEType

Throws:

  • java.rmi.RemoteException

Anchor(getDatastreamDissemination)

getDatastreamDissemination

Gets the content of a datastream. See also [#listDatastreams listDatastreams]

Input parameters:

  • String pid The PID of the object.

  • String dsID The datastream ID.

  • String asOfDateTime A dateTime indicating the version of the datastream to retrieve. If null, Fedora will use the most recent version.

Returns:

  • MIMETypedStream

    • String MIMEType

    • byte[] stream The contents of the Stream

    • Property[] header The header will be empty, or if applicable, contain the http header as name/value pairs.

      • String name

      • String value

Throws:

  • java.rmi.RemoteException

Dissemination Access

Anchor(listMethods)

listMethods

Lists all the methods that the object supports. See also [#getDissemination getDissemination]

Each method can take a number of paramethers. Each parameter for a method has a name, and a type. The possible values of a parameter depends on its type. It can be bound to a datastream in the object, it can have a hardcoded value or it can be defined by the caller.

Each parameter is defined to be passed by reference or passed by value.

Input parameters:

  • String pid The pid of the object.

  • String asOfDateTime The date/time stamp specifying the desired version of the object. If null, the current version of the object (the most recent time) is assumed.

Returns:

  • ObjectMethodDef[]

    • String PID

    • String serviceDefinitionPID

    • String methodName

    • MethodParmDef[] methodParmDefs

      • String parmName The name of the parameter.

      • String parmType The type of the parameter. Restricted to "fedora:datastreamInputType", "fedora:userInputType" or "fedora:defaultInputType"

      • String parmDefaultValue If the parmType is default, this is the value that will be used. Null if other type.

      • String[] parmDomainValues If the parameter can be defined by the user, these are the possible values. Null if other type.

      • boolean parmRequired False, if this parameter can be left out of a call.

      • String parmLabel The label for the parameter. Can be null.

      • String parmPassBy The method of passing the paramenter. Restricted to "URL_REF" (if the parameter is pass by reference - by an url) and "VALUE" (if the parameter is pass by value)

    • String asOfDate

Throws:

  • java.rmi.RemoteException

Anchor(getDissemination)

getDissemination

Disseminates the content produced by executing the method specified in the service definition associated the specified digital object. See also [#listMethods listMethods]

Input parameters:

  • String pid The pid of the object.

  • String serviceDefinitionPid The PID of the Service Definition object.

  • String methodName The name of the method to be executed.

  • Property[] parameters name-value pairs.

    • String name

    • String value

  • String asOfDateTime The versioning dateTime. If null, Fedora will use the most recent version.

Returns:

  • MIMETypedStream

    • String MIMEType

    • byte[] stream The contents of the Stream

    • Property[] header The header will be empty, or if applicable, contain the http header as name/value pairs.

      • String name

      • String value

Throws:

  • java.rmi.RemoteException

Fedora 3.0 API/Access (last edited 2010-03-17 13:08:52 by localhost)