org.datamanager.kernel
Class AbstractEntityConstraint
java.lang.Object
|
+--org.datamanager.kernel.AbstractEntityConstraint
- All Implemented Interfaces:
- Constraint, EntityConstraint, EntityValue, Serializable
- Direct Known Subclasses:
- AndEntityConstraint, AttributeExistsConstraint, AttributeNameContainsConstraint, AttributeNameEqualsConstraint, AttributeStringMatchConstraint, BaseExistsConstraint, DateValueRangeConstraint, EntityEqualsConstraint, NameContainsConstraint, NameEqualsConstraint, NameEqualsIgnoringCaseConstraint, NotEntityConstraint, OrEntityConstraint, RecursiveOrEntityConstraint, StringValueContainsConstraint, StringValueMatchesConstraint, ValueClassIsConstraint, ValueEqualsConstraint, ValueInRangeConstraint
- public abstract class AbstractEntityConstraint
- extends Object
- implements EntityConstraint
This class is an abstract EntityConstraint. It implements the
EntityConstraint interface located in org.datamanager.constraint,
and provides a public abstract describes() methods, which is exactly
the same as the public abstract accepts() method in EntityConstraint.
Every EntityConstraint should ideally extend this class instead of
implementing EntityConstraint themselves. By doing so the constraint
will gain extra power while working with Entities in the kernel.
For example, a when a constraint is working on an Entity, calling
methods such as getValue() and getAttributes(), it should not
cause DataManagerEvents to be fired. If the constraint is a
subclass of AbstractEntityConstraint then no events will be fired,
otherwise events will.
If a constraint has already been written to implement EntityConstraint
it can easily be modified to use this class instead simply by changing
implements EntityConstraint to extends AbstractEntityConstraint and
renaming the accepts() method to describes().
- Author:
- Matthew Farrellee
- See Also:
EntityConstraint
,
Entity
,
Serialized Form
Method Summary |
boolean |
accepts(Entity entity)
The accepts() method is required by the EntityConstraint interface. |
protected abstract boolean |
describes(Entity entity)
The method required by this class. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEBUG_ACCEPTS_MESSAGE
public static final String DEBUG_ACCEPTS_MESSAGE
- See Also:
- Constant Field Values
AbstractEntityConstraint
public AbstractEntityConstraint()
accepts
public final boolean accepts(Entity entity)
throws DataManagerException
- The accepts() method is required by the EntityConstraint interface.
AbstractEntityConstraint creates a final implementation of this method
(no subclasses may override).
Eventually this accepts() method calls the abstract describes()
method that should be implemented by subclasses. Makes the
DataManagerWorker thread invoking the accepts non-event generating for
the duration of the describes() call.
- Specified by:
accepts
in interface EntityConstraint
- Parameters:
entity
- An entity to check.
- Returns:
- Whether the entity is acceptable or not.
DataManagerException
describes
protected abstract boolean describes(Entity entity)
throws DataManagerException
- The method required by this class. This method has the
exact same semantics as the interface EntityConstraint's
accepts() method.
- Parameters:
entity
- An entity to check.
- Returns:
- Whether the entity is acceptable or not.
DataManagerException
See the Helium Website