Class Characteristic

All Implemented Interfaces:
Comparable<Characteristic>, Describable, Identifiable
Direct Known Subclasses:
Statement

@Indexed public class Characteristic extends AbstractDescribable implements Comparable<Characteristic>
Instances of this are used to describe other entities. This base class is just a characteristic that is simply a 'tag' of free text.

Characteristics can have an associated URI from an ontology from getCategoryUri() and getValueUri(), but not necessarily since there might not be an adequate term to represent the conveyed concept. These properties are marked with Nullable and should always be handled with care.

Author:
Paul
  • Constructor Details

    • Characteristic

      public Characteristic()
      No-arg constructor added to satisfy javabean contract
  • Method Details

    • getComparator

      public static Comparator<Characteristic> getComparator()
      Obtain a full comparator for characteristics that fallbacks on the ID if everything else is equal.

      The following fields are compared: category, value, ID.

    • getByCategoryComparator

      public static Comparator<Characteristic> getByCategoryComparator()
      Obtain a comparator to compare terms by category URI (or category if null) in a case-insensitive manner.

      Two terms that are equal in terms of category will be collapsed if using a TreeSet.

      Use this if you want to get a summary of the categories used by a collection of terms irrespective of their IDs.

    • getByCategoryAndValueComparator

      public static Comparator<Characteristic> getByCategoryAndValueComparator()
      Obtain a comparator to order terms by value URI (or value if null) in a case-insensitive manner.

      Two terms that are equal in terms of category and value (i.e. sharing the same ID) will be collapsed if using a TreeSet.

      Use this if you want to get a summary of the annotations used by a collection of terms irrespective of their IDs.

    • getId

      @DocumentId public Long getId()
      Specified by:
      getId in interface Identifiable
      Overrides:
      getId in class AbstractIdentifiable
    • getCategory

      @Field @Nullable public String getCategory()
      Returns:
      either the human readable form of the classUri or a free text version if no classUri exists
    • setCategory

      public void setCategory(@Nullable String category)
    • getCategoryUri

      @Nullable @Field(analyze=NO) public String getCategoryUri()
      Returns:
      The URI of the class that this is an instance of. Will only be different from the termUri when the class is effectively abstract, and this is a concrete instance. By putting the abstract class URI in the object we can more readily group together Characteristics that are instances of the same class. For example: If the classUri is "Sex", then the termUri might be "male" or "female" for various instances. Otherwise, the classUri and the termUri can be the same; for example, for "Age", if the "Age" is defined through its properties declared as associations with this.
    • setCategoryUri

      public void setCategoryUri(@Nullable String categoryUri)
    • getEvidenceCode

      public GOEvidenceCode getEvidenceCode()
    • setEvidenceCode

      public void setEvidenceCode(GOEvidenceCode evidenceCode)
    • getOriginalValue

      @Nullable public String getOriginalValue()
      Returns:
      the originalValue
    • setOriginalValue

      public void setOriginalValue(@Nullable String originalValue)
    • getValue

      @Field public String getValue()
      Returns:
      The human-readable term (e.g., "OrganismPart"; "kinase")
    • setValue

      public void setValue(String value)
    • getValueUri

      @Nullable @Field(analyze=NO) public String getValueUri()
      Returns:
      This can be a URI to any resources that describes the characteristic. Often it might be a URI to an OWL ontology term. If the URI is an instance of an abstract class, the classUri should be filled in with the URI for the abstract class.
    • setValueUri

      public void setValueUri(@Nullable String uri)
    • isMigratedToStatement

      @Deprecated public boolean isMigratedToStatement()
      Deprecated.
    • setMigratedToStatement

      @Deprecated public void setMigratedToStatement(boolean migratedToStatement)
      Deprecated.
    • hashCode

      public int hashCode()
      Description copied from class: AbstractIdentifiable
      Important note: Never use the ID in the hashCode() implementation since it can be assigned when the object is persisted.
      Overrides:
      hashCode in class AbstractDescribable
    • equals

      public boolean equals(Object object)
      Description copied from class: AbstractIdentifiable
      Important note: Two objects with the same class and non-null ID must be considered equal. If one or both IDs are nulls, the rest of the state can be used to determine equality.
      Specified by:
      equals in class AbstractIdentifiable
    • compareTo

      public int compareTo(@Nonnull Characteristic characteristic)
      Specified by:
      compareTo in interface Comparable<Characteristic>
    • toString

      public String toString()
      Overrides:
      toString in class AbstractDescribable