Class Characteristic

  • All Implemented Interfaces:
    Serializable, Describable, Identifiable

    @Indexed
    public class Characteristic
    extends AbstractDescribable
    implements Serializable
    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
    See Also:
    Serialized Form
    • Constructor Detail

      • Characteristic

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

      • getByCategoryComparator

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

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

        @Field
        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​(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)
      • setEvidenceCode

        public void setEvidenceCode​(GOEvidenceCode evidenceCode)
      • getOriginalValue

        public String getOriginalValue()
        Returns:
        the originalValue
      • setOriginalValue

        public void setOriginalValue​(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.
      • equals

        public boolean equals​(Object object)
        Description copied from class: AbstractDescribable
        Returns true if the argument is an Describable instance and all identifiers for this entity equal the identifiers of the argument entity. Returns false otherwise.
        Overrides:
        equals in class AbstractDescribable