Interface CollectionConditional<C extends CollectionConditional<C>>
-
- All Superinterfaces:
Conditional<C>,Copyable<C>
- All Known Implementing Classes:
DefaultCollectionConditional
public interface CollectionConditional<C extends CollectionConditional<C>> extends Conditional<C>
An extension ofConditionalthat is used for matching a set of conditionals against each member of a collection field. This conditional is useful in scenarios where the states of members of a collection are relevant to gate certain functionality.For example, a conditional that is a match when all members of a collection have a "type" of "PRODUCT, or is empty:
Conditionals.whenCollection("choices") .conditional(PropertyConditional.when("type").equalTo("PRODUCT")) .allMatch() .matchIfEmpty()- Author:
- Nick Crum (ncrum)
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classCollectionConditional.CollectionConditionalMatchStrategy
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default CallMatch()Mark this conditional as requiring all collection member to match the condition.default CanyMatch()Mark this conditional as requiring any collection members to match the conditions.default CclearConditionals()Clears the current conditions on this conditional.default Cconditional(Conditional<?>... conditionals)Adds one or more conditions to this conditional.default Cconditionals(List<Conditional<?>> conditionals)Adds one or more conditions to this conditional.default Cfield(String field)Define the property name of the collection the conditional targets.List<Conditional<?>>getConditionals()StringgetField()StringgetMatchStrategy()default StringgetType()The type of conditional.booleanisMatchIfEmpty()default CmatchIfEmpty()Marks this conditional as treating an empty collection as a match.default CmatchStrategy(String matchStrategy)Define the match strategy.default CnotMatchIfEmpty()Marks this conditional as treating an empty collection as NOT a match.voidsetConditionals(List<Conditional<?>> conditionals)voidsetField(String field)voidsetMatchIfEmpty(boolean matchIfEmpty)voidsetMatchStrategy(String matchStrategy)-
Methods inherited from interface com.broadleafcommerce.metadata.dsl.core.Conditional
self
-
-
-
-
Field Detail
-
TYPE
static final String TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getType
default String getType()
Description copied from interface:ConditionalThe type of conditional. This is used to distinguish different types of conditionals.- Specified by:
getTypein interfaceConditional<C extends CollectionConditional<C>>- Returns:
- the type
-
getField
String getField()
-
getMatchStrategy
String getMatchStrategy()
-
getConditionals
List<Conditional<?>> getConditionals()
-
isMatchIfEmpty
boolean isMatchIfEmpty()
-
setField
void setField(String field)
-
setMatchStrategy
void setMatchStrategy(String matchStrategy)
-
setConditionals
void setConditionals(List<Conditional<?>> conditionals)
-
setMatchIfEmpty
void setMatchIfEmpty(boolean matchIfEmpty)
-
field
default C field(String field)
Define the property name of the collection the conditional targets.- Parameters:
field- the property name- Returns:
- this
-
matchStrategy
default C matchStrategy(String matchStrategy)
Define the match strategy. Typically one ofCollectionConditional.CollectionConditionalMatchStrategy.- Parameters:
matchStrategy- the match strategy- Returns:
- this
-
anyMatch
default C anyMatch()
Mark this conditional as requiring any collection members to match the conditions.- Returns:
- this
-
allMatch
default C allMatch()
Mark this conditional as requiring all collection member to match the condition.- Returns:
- this
-
conditional
default C conditional(Conditional<?>... conditionals)
Adds one or more conditions to this conditional.- Parameters:
conditionals- the conditional(s)- Returns:
- this
-
conditionals
default C conditionals(List<Conditional<?>> conditionals)
Adds one or more conditions to this conditional.- Parameters:
conditionals- the conditional(s)- Returns:
- this
-
clearConditionals
default C clearConditionals()
Clears the current conditions on this conditional.- Returns:
- this
-
matchIfEmpty
default C matchIfEmpty()
Marks this conditional as treating an empty collection as a match.- Returns:
- this
-
notMatchIfEmpty
default C notMatchIfEmpty()
Marks this conditional as treating an empty collection as NOT a match.- Returns:
- this
-
-