Class PropertyConstraint.Enumeration

java.lang.Object
org.biojava.bio.PropertyConstraint.Enumeration
All Implemented Interfaces:
PropertyConstraint
Enclosing interface:
PropertyConstraint

public static class PropertyConstraint.Enumeration extends Object implements PropertyConstraint
Enumeration accepts a property if it is present in the specified set of values. If you want to declare that a property must be within a range of values, for example PRIMARY_COLOR is one of "RED, YELLOW, BLUE" Use with FilterUtils.byAnnotation() to search for features with properties set to a range of values
Since:
1.3
Author:
Matthew Pocock
  • Constructor Details

    • Enumeration

      public Enumeration(Set values)
      Creates a new Enumeration using the members of the specified set as a constraint.
      Parameters:
      values - a Set of all possible values
    • Enumeration

      public Enumeration(Object[] values)
      Creates a new Enumeration using the elements of the specified array as a constraint.
      Parameters:
      values - an Array of all possible values
  • Method Details

    • getValues

      public Set getValues()
      getValues returns the set of values which constrain the property.
      Returns:
      a Set.
    • accept

      public boolean accept(Object value)
      Description copied from interface: PropertyConstraint
      accept returns true if the value fulfills the constraint. Manually compare items with the PropertyConstraint. Node: this will ususaly be done for you in an AnnotationType instance Use for implementing accept() on AnnotatoinType
      Specified by:
      accept in interface PropertyConstraint
      Parameters:
      value - an Object to check.
      Returns:
      a boolean.
    • subConstraintOf

      public boolean subConstraintOf(PropertyConstraint subConstraint)
      Description copied from interface: PropertyConstraint

      subConstraintOf returns true if the constraint is a sub-constraint.

      A pair of constraints super and sub are in a superConstraint/subConstraint relationship if every object accepted by sub is also accepted by super. To put it another way, if instanceOf was used as a set-membership indicator function over some set of objects, then the set produced by super would be a superset of that produced by sub.

      It is not expected that constraints will neccesarily maintain references to super/sub types. It will be more usual to infer this relationship by introspecting the constraints themselves. For example, PropertyConstraint.ByClass will infer subConstraintOf by looking at the possible class of all items matching subConstraint.

      Useful when attempting to compare two constraints to see if it is necisary to retain both. You may want to check the more general or the more specific constraint only.
      Specified by:
      subConstraintOf in interface PropertyConstraint
      Parameters:
      subConstraint - a PropertyConstraint to check.
      Returns:
      a boolean.
    • toString

      public String toString()
      Overrides:
      toString in class Object