org.biojava.bio
Class PropertyConstraint.Enumeration

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

public static class PropertyConstraint.Enumeration
extends java.lang.Object
implements PropertyConstraint

Enumeration accepts a property if it is present in the specified set of values.

Since:
1.3
Author:
Matthew Pocock
For general use:
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"
For advanced users:
Use with FilterUtils.byAnnotation() to search for features with properties set to a range of values

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojava.bio.PropertyConstraint
PropertyConstraint.And, PropertyConstraint.ByAnnotationType, PropertyConstraint.ByClass, PropertyConstraint.Enumeration, PropertyConstraint.ExactValue, PropertyConstraint.Or
 
Field Summary
 
Fields inherited from interface org.biojava.bio.PropertyConstraint
ANY, NONE
 
Constructor Summary
PropertyConstraint.Enumeration(java.lang.Object[] values)
          Creates a new Enumeration using the elements of the specified array as a constraint.
PropertyConstraint.Enumeration(java.util.Set values)
          Creates a new Enumeration using the members of the specified set as a constraint.
 
Method Summary
 boolean accept(java.lang.Object value)
          accept returns true if the value fulfills the constraint.
 java.util.Set getValues()
          getValues returns the set of values which constrain the property.
 boolean subConstraintOf(PropertyConstraint subConstraint)
          subConstraintOf returns true if the constraint is a sub-constraint.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PropertyConstraint.Enumeration

public PropertyConstraint.Enumeration(java.util.Set values)
Creates a new Enumeration using the members of the specified set as a constraint.

Parameters:
values - a Set of all possible values
For general use:

PropertyConstraint.Enumeration

public PropertyConstraint.Enumeration(java.lang.Object[] values)
Creates a new Enumeration using the elements of the specified array as a constraint.

Parameters:
values - an Array of all possible values
For general use:
Method Detail

getValues

public java.util.Set getValues()
getValues returns the set of values which constrain the property.

Returns:
a Set.

accept

public boolean accept(java.lang.Object value)
Description copied from interface: PropertyConstraint
accept returns true if the value fulfills the constraint.

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.

Specified by:
subConstraintOf in interface PropertyConstraint
Parameters:
subConstraint - a PropertyConstraint to check.
Returns:
a boolean.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object