/* The contents of this file are subject to the license and copyright terms * detailed in the license directory at the root of the source tree (also * available online at http://fedora-commons.org/license/). */ package fedora.server.access.defaultdisseminator; import fedora.server.errors.ServerException; import fedora.server.storage.types.MIMETypedStream; /** * Defines the methods of the default service definition that is associated * with every Fedora Object. * * @author Sandy Payette */ public interface DefaultDisseminator { /** * Returns an HTML rendering of the object profile which contains key * metadata from the object, plus URLs for the object's Dissemination Index * and Item Index. The data is returned as HTML in a presentation-oriented * format. This is accomplished by doing an XSLT transform on the XML that * is obtained from getObjectProfile in API-A. * * @return a MIMETypedStream that is an HTML rendering of the object * profile. * @throws ServerException */ public MIMETypedStream viewObjectProfile() throws ServerException; /** * Returns an HTML rendering of the Dissemination Index for the object. The * Dissemination Index is a list of method definitions that represent all * disseminations possible on the object. The Dissemination Index is * returned as HTML in a presentation-oriented format. This is accomplished * by doing an XSLT transform on the XML that is obtained from listMethods * in API-A. * * @return a MIMETypedStream that is an HTML rendering of the Dissemination * Index for the object. * @throws ServerException */ public MIMETypedStream viewMethodIndex() throws ServerException; /** * Returns an HTML rendering of the Item Index for the object. The Item * Index is a list of all datastreams in the object. The datastream items * can be data or metadata. The Item Index is returned as HTML in a * presentation-oriented format. This is accomplished by doing an XSLT * transform on the XML that is obtained from listDatastreams in API-A. * * @return a MIMETypedStream that is an HTML rendering of the Item Index for * the object. * @throws ServerException */ public MIMETypedStream viewItemIndex() throws ServerException; /** * Returns the Dublin Core record for the object, if one exists. The record * is returned as HTML in a presentation-oriented format. * * @return a MIMETypedStream that is an HTML rendering of the Dublin Core * record for the object. * @throws ServerException */ public MIMETypedStream viewDublinCore() throws ServerException; }