it.amattioli.dominate
Interface Specification<T extends Entity<?>>

Show UML class diagram
Type Parameters:
T - the class of the entities this specification can check
All Superinterfaces:
PropertyChangeEmitter
All Known Implementing Classes:
AbstractSpecification, BeanShellSpecification, BeanSpecification, ChainedSpecification, CompositeSpecification, ConjunctionSpecification, CriteriaEntitySpecification, CriteriaEnumSpecification, CriteriaExclusionListSpecification, CriteriaLongSpecification, CriteriaMultipleEntitySpecification, CriteriaMultipleEnumSpecification, CriteriaObjectSpecification, CriteriaStringSpecification, DefaultEntitySpecification, DefaultEnumSpecification, DefaultExclusionListSpecification, DefaultLongSpecification, DefaultMultipleEntitySpecification, DefaultMultipleEnumSpecification, DefaultObjectSpecification, DefaultStringSpecification, DisjunctionSpecification, EntitySpecification, EnumSpecification, ExclusionListSpecification, FalseSpecification, HqlEntitySpecification, HqlEnumSpecification, HqlLongSpecification, HqlMultipleEntitySpecification, HqlMultipleEnumSpecification, HqlObjectSpecification, HqlStringSpecification, LongSpecification, MultipleEntitySpecification, MultipleEnumSpecification, NegatedSpecification, ObjectSpecification, StringSpecification, TrueSpecification

public interface Specification<T extends Entity<?>>
extends PropertyChangeEmitter

An object that implements this interface can check if an entity satisfies or not certain conditions. A specification can also be used to assemble a query object (using an Assembler) that can be used to filter the results returned by Repository.list(Specification)

Author:
andrea

Method Summary
 void assembleQuery(Assembler assembler)
          Assemble a query object that can be used with a repository to filter the objects returned by Repository.list(Specification)
 boolean isSatisfiedBy(T object)
          Check if an object satisfies this specification.
 void setSatisfiedIfNotSet(boolean value)
          For a parametric specification sets the value to be returned by isSatisfiedBy(Entity) when the parameter(s) has not been set.
 boolean supportsAssembler(Assembler assembler)
          Check if the passed query assembler can be passed to the assembleQuery(Assembler) of thie specification
 boolean wasSet()
          If this specification is parametric check if the parameter(s) has been set.
 
Methods inherited from interface it.amattioli.dominate.util.PropertyChangeEmitter
addPropertyChangeListener, removePropertyChangeListener
 

Method Detail

isSatisfiedBy

boolean isSatisfiedBy(T object)
Check if an object satisfies this specification.

Parameters:
object -
Returns:

assembleQuery

void assembleQuery(Assembler assembler)
Assemble a query object that can be used with a repository to filter the objects returned by Repository.list(Specification)

Parameters:
assembler -

supportsAssembler

boolean supportsAssembler(Assembler assembler)
Check if the passed query assembler can be passed to the assembleQuery(Assembler) of thie specification

Parameters:
assembler -
Returns:

wasSet

boolean wasSet()
If this specification is parametric check if the parameter(s) has been set. If this specification is not parametric always returns true.

Returns:

setSatisfiedIfNotSet

void setSatisfiedIfNotSet(boolean value)
For a parametric specification sets the value to be returned by isSatisfiedBy(Entity) when the parameter(s) has not been set.

Parameters:
value -


Copyright © 2011. All Rights Reserved.