## org.biojava.bio
Class PropertyConstraint.Enumeration

    java.lang.Object
      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`