it.amattioli.dominate.specifications
Class ChainedSpecification<T extends Entity<?>>

Show UML class diagram
java.lang.Object
  extended by it.amattioli.dominate.specifications.AbstractSpecification<T>
      extended by it.amattioli.dominate.specifications.ChainedSpecification<T>
All Implemented Interfaces:
Specification<T>, PropertyChangeEmitter
Direct Known Subclasses:
EntitySpecification, EnumSpecification, ExclusionListSpecification, LongSpecification, MultipleEntitySpecification, MultipleEnumSpecification, ObjectSpecification, StringSpecification

public abstract class ChainedSpecification<T extends Entity<?>>
extends AbstractSpecification<T>


Constructor Summary
ChainedSpecification()
           
ChainedSpecification(Specification<T> nextInChain)
           
 
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)
protected  void chainAssembler(Assembler assembler)
           
static
<T extends Entity<?>,S extends ChainedSpecification<T>>
S
createChain(Class<S> specClass)
           
protected  Specification<T> getNextInChain()
           
abstract  void itselfAssembleQuery(Assembler assembler)
           
abstract  boolean itselfSupportsAssembler(Assembler assembler)
           
protected  void setNextInChain(Specification<T> nextInChain)
           
 boolean supportsAssembler(Assembler assembler)
          Check if the passed query assembler can be passed to the Specification.assembleQuery(Assembler) of thie specification
 
Methods inherited from class it.amattioli.dominate.specifications.AbstractSpecification
addPropertyChangeListener, firePropertyChange, isSatisfiedIfNotSet, removePropertyChangeListener, setSatisfiedIfNotSet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface it.amattioli.dominate.Specification
isSatisfiedBy, wasSet
 

Constructor Detail

ChainedSpecification

public ChainedSpecification()

ChainedSpecification

public ChainedSpecification(Specification<T> nextInChain)
Method Detail

createChain

public static <T extends Entity<?>,S extends ChainedSpecification<T>> S createChain(Class<S> specClass)

getNextInChain

protected Specification<T> getNextInChain()

setNextInChain

protected void setNextInChain(Specification<T> nextInChain)

supportsAssembler

public boolean supportsAssembler(Assembler assembler)
Description copied from interface: Specification
Check if the passed query assembler can be passed to the Specification.assembleQuery(Assembler) of thie specification

Returns:

itselfSupportsAssembler

public abstract boolean itselfSupportsAssembler(Assembler assembler)

assembleQuery

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


itselfAssembleQuery

public abstract void itselfAssembleQuery(Assembler assembler)

chainAssembler

protected void chainAssembler(Assembler assembler)


Copyright © 2011. All Rights Reserved.