## org.biojavax.bio
Class SimpleBioEntryRelationship

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojavax.bio.SimpleBioEntryRelationship

All Implemented Interfaces:
  Comparable, Changeable, BioEntryRelationship

    public class SimpleBioEntryRelationship

extends AbstractChangeable
implements BioEntryRelationship

Represents a relationship between two bioentries that is described by a term and given a rank.

Since:
  1.5
Author:
  Richard Holland, Mark Schreiber, George Waldon

Field Summary

Fields inherited from interface org.biojavax.bio.BioEntryRelationship
`RANK`

Constructor Summary
`protected` `SimpleBioEntryRelationship()`
`` `SimpleBioEntryRelationship(BioEntry object, BioEntry subject, ComparableTerm term, Integer rank)` Creates a new instance of SimpleBioEntryRelationship.

Method Summary
`int` `compareTo(Object o)` A relationship is compared first by rank, then object, subject, and term.
`boolean` `equals(Object obj)` Relationships are equal if they share the same rank, object, subject and term.
`Integer` `getId()` Gets the Hibernate ID.
`BioEntry` `getObject()` Returns the object of this relationship (ie.
`Integer` `getRank()` Returns the rank of this relationship.
`BioEntry` `getSubject()` Returns the subject of this relationship (ie.
`ComparableTerm` `getTerm()` Returns the term describing the relationship.
`int` `hashCode()`
`void` `setId(Integer id)` Sets the Hibernate ID.
`void` `setRank(Integer rank)` Sets the rank of this relationship.
`String` `toString()` Form is "(#rank) term(object,subject)"

Methods inherited from class org.biojava.utils.AbstractChangeable
`addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

Constructor Detail

### SimpleBioEntryRelationship

    public SimpleBioEntryRelationship(BioEntry object,
                                      BioEntry subject,
                                      ComparableTerm term,
                                      Integer rank)

  Creates a new instance of SimpleBioEntryRelationship. None of the parameters may be null, and all are immutable except the rank.

  Parameters:
    `rank` - The rank of the relationship.
    `subject` - The subject bioentry.
    `term` - The relationship term.

### SimpleBioEntryRelationship

    protected SimpleBioEntryRelationship()

Method Detail

### setRank

    public void setRank(Integer rank)
                 throws ChangeVetoException

  Sets the rank of this relationship. The rank may be null in the database, hence the use of an Integer object here and not an int primitive.

  Specified by:
    `setRank` in interface `BioEntryRelationship`
  Parameters:
    `rank` - Value of property rank.
  Throws:
    `ChangeVetoException` - if the rank rankles.

### getRank

    public Integer getRank()

  Returns the rank of this relationship. The rank may be null in the database, hence the use of an Integer object here and not an int primitive.

  Specified by:
    `getRank` in interface `BioEntryRelationship`
  Returns:
    Value of property rank.

### getObject

    public BioEntry getObject()

  Returns the object of this relationship (ie. the BioEntry which this relationship starts from). This is an immutable property set by the constructor of an instantiating class.

  Specified by:
    `getObject` in interface `BioEntryRelationship`
  Returns:
    Value of property object.

### getSubject

    public BioEntry getSubject()

  Returns the subject of this relationship (ie. the BioEntry which this relationship targets). This is an immutable property set by the constructor of an instantiating class.

  Specified by:
    `getSubject` in interface `BioEntryRelationship`
  Returns:
    Value of property subject.

### getTerm

    public ComparableTerm getTerm()

  Returns the term describing the relationship. This is an immutable property set by the constructor of an instantiating class.

  Specified by:
    `getTerm` in interface `BioEntryRelationship`
  Returns:
    Value of property term.

### compareTo

    public int compareTo(Object o)

  A relationship is compared first by rank, then object, subject, and term. If ranks are null, they are treated as zero for comparison's sake.

  Specified by:
    `compareTo` in interface `Comparable`

### equals

    public boolean equals(Object obj)

  Relationships are equal if they share the same rank, object, subject and term. If ranks are null, they are treated as zero for consistency with comparison.

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### toString

    public String toString()

  Form is "(#rank) term(object,subject)"

  Overrides:
    `toString` in class `Object`

### getId

    public Integer getId()

  Gets the Hibernate ID. Should be used with caution.

  Returns:
    the Hibernate ID, if using Hibernate.

### setId

    public void setId(Integer id)

  Sets the Hibernate ID. Should be used with caution.

  Parameters:
    `id` - the Hibernate ID, if using Hibernate.