|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CompositeSpecification<T>
Part of the Evans/Fowler Specifications pattern.
Method Summary | ||
---|---|---|
CompositeSpecification<T> |
and(Specification<T> specification)
Creates a conjunction out of two specifications: This composite specification The given specification parameter |
|
|
and(java.lang.String accessibleObjectName,
Specification<F> accessibleObjectSpecification)
Creates a conjunction of two specifications: This composite specification A parameterized specification based on the java.lang.reflect.AccessibleObject name parameter and the accompanying specification parameter
|
|
CompositeSpecification<T> |
or(Specification<T> specification)
Creates a disjunction out of two specifications: This composite specification The given specification parameter |
|
|
or(java.lang.String accessibleObjectName,
Specification<F> accessibleObjectSpecification)
Creates a disjunction of two specifications: This composite specification A parameterized specification based on the java.lang.reflect.AccessibleObject name parameter and the accompanying specification parameter
|
|
CompositeSpecification<T> |
remainderUnsatisfiedBy(T candidate)
Partially satisfied specification. |
|
|
where(java.lang.String accessibleObjectName,
Specification<F> accessibleObjectSpecification)
Alias of and method. |
Methods inherited from interface net.sourceforge.domian.specification.Specification |
---|
getType, isGeneralizationOf, isSatisfiedBy, isSpecialCaseOf |
Method Detail |
---|
<F> CompositeSpecification<T> where(java.lang.String accessibleObjectName, Specification<F> accessibleObjectSpecification)
and
method.
accessibleObjectName
- the name of the accessible object to specifyaccessibleObjectSpecification
- the specification coupled to the accessible object
java.lang.IllegalArgumentException
- if any of the parameters are null
java.lang.UnsupportedOperationException
- if this method is called twice in the overall specification expression (fluent interface constraint)<F> CompositeSpecification<T> and(java.lang.String accessibleObjectName, Specification<F> accessibleObjectSpecification)
java.lang.reflect.AccessibleObject
name parameter and the accompanying specification parameter
accessibleObjectName
- the name of the accessible object to specifyaccessibleObjectSpecification
- the specification coupled to the accessible object
java.lang.IllegalArgumentException
- if any of the parameters are null
java.lang.IllegalArgumentException
- if the accessible object name is illegal
java.lang.IllegalArgumentException
- if the type of the accessible object and the type of the specification are not compatible
java.lang.UnsupportedOperationException
- if this method is not placed behind a where clause in the overall specification expression (fluent interface constraint)<F> CompositeSpecification<T> or(java.lang.String accessibleObjectName, Specification<F> accessibleObjectSpecification)
java.lang.reflect.AccessibleObject
name parameter and the accompanying specification parameter
accessibleObjectName
- the name of the accessible object to specifyaccessibleObjectSpecification
- the specification coupled to the accessible object
java.lang.IllegalArgumentException
- if any of the parameters are null
java.lang.IllegalArgumentException
- if the accessible object name is illegal
java.lang.IllegalArgumentException
- if the type of the accessible object and the type of the specification are not compatible
java.lang.UnsupportedOperationException
- if this method is not placed behind a where clause in the overall specification expression (fluent interface constraint)CompositeSpecification<T> and(Specification<T> specification)
specification
- the specification to combine with this specification
java.lang.IllegalArgumentException
- if the parameter is nullCompositeSpecification<T> or(Specification<T> specification)
specification
- the specification to combine with this specification
java.lang.IllegalArgumentException
- if the parameter is nullCompositeSpecification<T> remainderUnsatisfiedBy(T candidate)
SpecX = specA AND specB
then:
specX.isSpecialCaseOf(specA)
specX.isSpecialCaseOf(specB)
SpecX = specA OR specB
then:
specX.isGeneralizationOf(specA)
specX.isGeneralizationOf(specB)
candidate
- The candidate object
null
if (in fact) this specification is satisfied by the candidate object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |