Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
outlinetrue
stylenone

Relationships Between Bitstreams

...

Add the following API calls to the Bitstream object:

Code Block


 /** Constants describing the type of relationship: */

   // This Bitstream was derived from the contents of the related one.
   public static final int REL_TYPE_DERIVED     = 1;

   // This Bitstream is an alternate version of the related one.
   public static final int REL_TYPE_ALTERNATE   = 2;

   // This Bitstream contains descriptive metadata about the related one.
   public static final int REL_TYPE_MD_DESC     = 3;

   // This Bitstream contains administrative metadata about the related one.
   public static final int REL_TYPE_MD_ADM      = 4;

   // This Bitstream contains technical metadata about the related one.
   public static final int REL_TYPE_MD_TECH     = 5;

   // This Bitstream contains provenance metadata about the related one.
   public static final int REL_TYPE_MD_PROV     = 6;

   // This Bitstream contains rights metadata about the related one.
   public static final int REL_TYPE_MD_RIGHTS   = 7;

   /**
    * Establish a relationship with the target Bitstream.  The nature
    * of that relationship is described by setRelationshipType().
    * When relevant, the object executing this method is the "slave"
    * (e.g. the derived one) in the relationship.
    * @param related Bitstream object which is target (master) of relationship.
    */
   public void setRelatedBitstream(Bitstream related)

   /**
    * Get related Bitstream.
    * @return related (master) Bitstream, or null if none has been set.
    */
   public Bitstream getRelatedBitstream()

   /**
    * Set the type of relationship this Bitstream has with the
    * one set in setRelatedBitstream().  See the REL_TYPE_*
    * constants for details.
    * @param rel indicates type of relationship.
    */
   public void setRelationshipType(int rel)

   /**
    * @returns type of relationship, or 0 if none has been set.
    */
   public int getRelationshipType()

   /**
    * Get all the Bitstreams with relationships to this one.
    * @return Array related Bitstreams, or empty Array if there are none.
    */
   public Bitstream[] getBitstreamsRelatedToSelf()

   /**
    * Get all the Bitstreams with relationships to this one, and
    * a Bundle name matching the indicated one.
    * @param bundleName bundle name to match.
    * @return Array related Bitstreams, or empty Array if there are none.
    */
   public Bitstream[] getBitstreamsRelatedToSelf(String bundleName)

...