public static class PropertyConstraint.ByAnnotationType extends Object implements PropertyConstraint
ByAnnotationType
accepts a property value if it
belongs to type defined by AnnotationType.
If you had an Embl AnnotationType then you could say that the REF property must contain annotations that fits your reference AnnotationType (with author list, title, optinal medline ID etc.).
If you wish to build a tree of Annotations so that a property in one is guaranteed to be itself an Annotation of a particular type. Effectively this lets you build your own type system using AnnotationType and PropertyConstraint.PropertyConstraint.And, PropertyConstraint.ByAnnotationType, PropertyConstraint.ByClass, PropertyConstraint.Enumeration, PropertyConstraint.ExactValue, PropertyConstraint.Or
ANY, NONE
Constructor and Description |
---|
PropertyConstraint.ByAnnotationType(AnnotationType annType)
Create a new constraint by type.
|
Modifier and Type | Method and Description |
---|---|
boolean |
accept(Object value)
accept returns true if the value fulfills the
constraint. |
AnnotationType |
getAnnotationType()
Get the AnnotationType used as a constraint.
|
boolean |
subConstraintOf(PropertyConstraint subConstraint)
subConstraintOf returns true if the constraint
is a sub-constraint. |
String |
toString() |
public PropertyConstraint.ByAnnotationType(AnnotationType annType)
annType
- the AnnotationType to constrain topublic AnnotationType getAnnotationType()
public boolean accept(Object value)
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 AnnotatoinTypeaccept
in interface PropertyConstraint
value
- an Object
to check.boolean
.public boolean subConstraintOf(PropertyConstraint subConstraint)
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.
subConstraintOf
in interface PropertyConstraint
subConstraint
- a PropertyConstraint
to check.boolean
.Copyright © 2014 BioJava. All rights reserved.