Package org.biojava.bio
Class CollectionConstraint.And
java.lang.Object
org.biojava.bio.CollectionConstraint.And
- All Implemented Interfaces:
CollectionConstraint
- Enclosing interface:
CollectionConstraint
A collection constraint that accpepts collections iff they are accepted by both
child constraints. This effectively matches the intersection of the items
matched by the two constraints.
Use this to combine multiple constraints. You can make one
or both of the children And instances if you need a tighter
intersection.
- Author:
- Matthew Pocock, Thomas Down
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.biojava.bio.CollectionConstraint
CollectionConstraint.AllValuesIn, CollectionConstraint.And, CollectionConstraint.Contains, CollectionConstraint.Or
-
Field Summary
Fields inherited from interface org.biojava.bio.CollectionConstraint
ANY, EMPTY, NONE
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a newAnd
from two child constraints. -
Method Summary
Modifier and TypeMethodDescriptionboolean
accept
returns true if the value fulfills the constraint.Get the first child CollectionConstraint.Get the seccond child CollectionConstraint.boolean
subConstraintOf
returns true if the constraint is a sub-constraint.toString()
boolean
validateAddValue
(Collection oldcoll, Object newvalue) Returntrue
iff the Collection formed by addingnewValue
tocurrent
would be accepted by this constraint.boolean
validateRemoveValue
(Collection oldcoll, Object victim) Returntrue
iff the Collection formed by removingnewValue
fromcurrent
would be accepted by this constraint.
-
Constructor Details
-
And
Create a newAnd
from two child constraints.- Parameters:
c1
- the first childc2
- the seccond child
-
-
Method Details
-
getChild1
Get the first child CollectionConstraint.- Returns:
- the first child CollectionConstraint
-
getChild2
Get the seccond child CollectionConstraint.- Returns:
- the seccond child CollectionConstraint
-
accept
Description copied from interface:CollectionConstraint
accept
returns true if the value fulfills the constraint.- Specified by:
accept
in interfaceCollectionConstraint
- Parameters:
object
- aCollection
to check.- Returns:
- true if the values are acceptable powerUser Manually compare items with the CollectionConstraint. Node: this will ususaly be done for you in an AnnotationType instance
-
subConstraintOf
Description copied from interface:CollectionConstraint
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,
CollectionConstraint.ByClass
will infer subConstraintOf by looking at the possible class of all items matching subConstraint.- Specified by:
subConstraintOf
in interfaceCollectionConstraint
- Parameters:
pc
- aCollectionConstraint
to check.- Returns:
- a
boolean
. Usefull 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.
-
validateAddValue
Description copied from interface:CollectionConstraint
Returntrue
iff the Collection formed by addingnewValue
tocurrent
would be accepted by this constraint. Implementations may not assume thatcurrent
is valid.- Specified by:
validateAddValue
in interfaceCollectionConstraint
- Parameters:
oldcoll
- a Collection containing the current valuesnewvalue
- the new value to add- Returns:
- true if adding the new value will result in an acceptable property
-
validateRemoveValue
Description copied from interface:CollectionConstraint
Returntrue
iff the Collection formed by removingnewValue
fromcurrent
would be accepted by this constraint. Implementations may not assume thatcurrent
is valid. However,current
will already have been checked to ensure that it containsvictim
.- Specified by:
validateRemoveValue
in interfaceCollectionConstraint
- Parameters:
oldcoll
- a Collection containing the current valuesvictim
- the value to remove- Returns:
- true if removing the victim will result in an acceptable property value set
-
toString
-