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 ofConditional
that 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 class
CollectionConditional.CollectionConditionalMatchStrategy
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default C
allMatch()
Mark this conditional as requiring all collection member to match the condition.default C
anyMatch()
Mark this conditional as requiring any collection members to match the conditions.default C
clearConditionals()
Clears the current conditions on this conditional.default C
conditional(Conditional<?>... conditionals)
Adds one or more conditions to this conditional.default C
conditionals(List<Conditional<?>> conditionals)
Adds one or more conditions to this conditional.default C
field(String field)
Define the property name of the collection the conditional targets.List<Conditional<?>>
getConditionals()
String
getField()
String
getMatchStrategy()
default String
getType()
The type of conditional.boolean
isMatchIfEmpty()
default C
matchIfEmpty()
Marks this conditional as treating an empty collection as a match.default C
matchStrategy(String matchStrategy)
Define the match strategy.default C
notMatchIfEmpty()
Marks this conditional as treating an empty collection as NOT a match.void
setConditionals(List<Conditional<?>> conditionals)
void
setField(String field)
void
setMatchIfEmpty(boolean matchIfEmpty)
void
setMatchStrategy(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:Conditional
The type of conditional. This is used to distinguish different types of conditionals.- Specified by:
getType
in 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
-
-