public class DOOV
extends java.lang.Object
All validation rules will start with the when(StepCondition) method. Then you can create a step condition
either by referencing a FieldInfo that you generated (in the example below it's
userEmail) or by using a composition method like matchAll(StepCondition...).
DOOV.when(userEmail().matches("...")).validate();
| Modifier and Type | Method and Description |
|---|---|
static StepCondition |
alwaysFalse()
Returns a condition that is always false.
|
static StepCondition |
alwaysFalse(java.lang.String readable)
Returns a condition that is always false.
|
static StepCondition |
alwaysTrue()
Returns a condition that is always true.
|
static StepCondition |
alwaysTrue(java.lang.String readable)
Returns a condition that is always true.
|
static IntegerFunction |
count(StepCondition... steps)
Returns an integer condition that returns the number of given conditions that evaluates to true.
|
static <T,F extends Function<T>> |
fieldFunction(DslField<T> field,
java.util.function.BiFunction<FieldMetadata<?>,java.util.function.BiFunction<FieldModel,Context,java.util.Optional<T>>,F> constructorRef)
Wrap given field into a function using the given function constructor reference
|
static <T extends DslField<?>> |
fieldInPosition(java.util.stream.Stream<T> fieldStream,
int index)
Returns the field in the position
|
static <T> IterableFunction<T,java.util.List<T>> |
lift(T... value)
Wrap given value into a function using the given function constructor reference
Ex.
|
static <T,F extends Function<T>,M extends ValuePredicateMetadata<M>> |
lift(T value,
java.util.function.BiFunction<ValuePredicateMetadata,java.util.function.BiFunction<FieldModel,Context,java.util.Optional<T>>,F> constructorRef)
Wrap given value into a function using the given function constructor reference
Ex.
|
static <I> ContextawareStepMap<I> |
map(java.util.function.BiFunction<FieldModel,Context,I> valueFunction)
Start defining a context-aware value mapping
|
static <I,J> BiContextawareStepMap<I,J> |
map(java.util.function.BiFunction<FieldModel,Context,I> valueFunction,
java.util.function.BiFunction<FieldModel,Context,J> valueFunction2)
Start defining a context-aware value mapping
|
static NaryStepMap |
map(DslField<?>... inFieldInfos)
Start defining a nary mapping
|
static <I> SimpleStepMap<I> |
map(DslField<I> inFieldInfo)
Start defining a mapping
|
static <I,J> BiStepMap<I,J> |
map(DslField<I> inFieldInfo,
DslField<J> in2FieldInfo)
Start defining a bi mapping
|
static <I> StaticStepMap<I> |
map(I value)
Start defining a value mapping
|
static <I> ContextawareStepMap<I> |
map(MappingInput<I> input)
Start defining a context-aware value mapping
|
static <I,J> BiContextawareStepMap<I,J> |
map(MappingInput<I> input,
MappingInput<J> input2)
Start defining a context-aware value mapping
|
static NaryStepMap |
map(java.util.stream.Stream<? extends DslField<?>> inFieldInfos)
Start defining a nary mapping
|
static <I> StaticStepMap<I> |
map(java.util.function.Supplier<I> valueSupplier)
Start defining a value mapping
|
static <T extends DslField<?>> |
mapFor(java.util.stream.Stream<T> fieldStream,
java.util.function.Function<T,MappingRule> mappingRuleFunction)
Create an array of mapping rules from a stream of fields
|
static <I,C extends java.lang.Iterable<I>> |
mapIter(C value)
Start defining a value mapping for an Iterable field
|
static <I> IterableStepMap<I,java.util.List<I>> |
mapIter(I... values)
Start defining a value mapping to form an Iterable field as a List
|
static <O> MappingRule |
mapNull(DslField<O> outFieldInfo)
Start defining a value mapping with value null
|
static MappingRegistry |
mappings(MappingRule... mappingRules)
Create a mapping registry from given mapping rules See
MappingRegistry.mappings(MappingRule...) |
static MappingRegistry |
mapRange(int startInclusive,
int endExclusive,
java.util.function.Function<java.lang.Integer,MappingRule> mappingRuleFunction)
Create an array of mapping rules from a range of index
|
static <T extends DslField<?>> |
mapWithIndex(java.util.stream.Stream<T> fieldStream,
java.util.function.BiFunction<T,java.lang.Integer,MappingRule> mappingRuleFunction)
Create an array of mapping rules from a stream of fields with index
|
static StepCondition |
matchAll(StepCondition... steps)
|
static StepCondition |
matchAll(java.util.stream.Stream<? extends DslField<?>> dslFields,
java.util.function.Function<DefaultFunction<?,?>,StepCondition> stepConditionFunction)
|
static StepCondition |
matchAny(StepCondition... steps)
|
static StepCondition |
matchAny(java.util.stream.Stream<? extends DslField<?>> dslFields,
java.util.function.Function<DefaultFunction<?,?>,StepCondition> stepConditionFunction)
|
static StepCondition |
matchNone(StepCondition... steps)
|
static StepCondition |
matchNone(java.util.stream.Stream<? extends DslField<?>> dslFields,
java.util.function.Function<DefaultFunction<?,?>,StepCondition> stepConditionFunction)
|
static <N extends java.lang.Number> |
min(NumericFieldInfo<N>... fields)
|
static StepCondition |
not(StepCondition step)
|
static <N extends java.lang.Number> |
sum(NumericFieldInfo<N>... fields)
|
static <N extends java.lang.Number> |
sum(NumericFunction<N>... conditions)
|
static <T1 extends DslField<?>> |
template(java.util.function.Supplier<TemplateParam<T1>> param1) |
static <T1 extends DslField<?>,T2 extends DslField<?>> |
template(java.util.function.Supplier<TemplateParam<T1>> param1,
java.util.function.Supplier<TemplateParam<T2>> param2) |
static <T1 extends DslField<?>,T2 extends DslField<?>,T3 extends DslField<?>> |
template(java.util.function.Supplier<TemplateParam<T1>> param1,
java.util.function.Supplier<TemplateParam<T2>> param2,
java.util.function.Supplier<TemplateParam<T3>> param3) |
static <T1 extends DslField<?>,T2 extends DslField<?>,T3 extends DslField<?>,T4 extends DslField<?>> |
template(java.util.function.Supplier<TemplateParam<T1>> param1,
java.util.function.Supplier<TemplateParam<T2>> param2,
java.util.function.Supplier<TemplateParam<T3>> param3,
java.util.function.Supplier<TemplateParam<T4>> param4) |
static <T1 extends DslField<?>,T2 extends DslField<?>,T3 extends DslField<?>,T4 extends DslField<?>,T5 extends DslField<?>> |
template(java.util.function.Supplier<TemplateParam<T1>> param1,
java.util.function.Supplier<TemplateParam<T2>> param2,
java.util.function.Supplier<TemplateParam<T3>> param3,
java.util.function.Supplier<TemplateParam<T4>> param4,
java.util.function.Supplier<TemplateParam<T5>> param5) |
static StepWhen |
when(StepCondition condition)
Returns a step when with the given condition.
|
public static StepWhen when(StepCondition condition)
condition - the conditionpublic static StepCondition alwaysTrue()
public static StepCondition alwaysTrue(java.lang.String readable)
readable - that describes the conditionpublic static StepCondition alwaysFalse()
public static StepCondition alwaysFalse(java.lang.String readable)
readable - that describes the conditionpublic static IntegerFunction count(StepCondition... steps)
steps - the steps to matchpublic static StepCondition matchAny(StepCondition... steps)
steps - the steps to matchLogicalNaryCondition.matchAny(List)public static StepCondition not(StepCondition step)
step - the step to negatepublic static StepCondition matchAny(java.util.stream.Stream<? extends DslField<?>> dslFields, java.util.function.Function<DefaultFunction<?,?>,StepCondition> stepConditionFunction)
dslFields - stream of fieldsstepConditionFunction - condition to applypublic static StepCondition matchAll(StepCondition... steps)
steps - the steps to matchLogicalNaryCondition.matchAll(List)public static StepCondition matchAll(java.util.stream.Stream<? extends DslField<?>> dslFields, java.util.function.Function<DefaultFunction<?,?>,StepCondition> stepConditionFunction)
dslFields - stream of fieldsstepConditionFunction - condition to applypublic static StepCondition matchNone(StepCondition... steps)
steps - the steps to matchLogicalNaryCondition.matchNone(List)public static StepCondition matchNone(java.util.stream.Stream<? extends DslField<?>> dslFields, java.util.function.Function<DefaultFunction<?,?>,StepCondition> stepConditionFunction)
dslFields - stream of fieldsstepConditionFunction - condition to applypublic static <I> SimpleStepMap<I> map(DslField<I> inFieldInfo)
I - in typeinFieldInfo - in fieldpublic static <I,J> BiStepMap<I,J> map(DslField<I> inFieldInfo, DslField<J> in2FieldInfo)
I - in typeJ - in type 2inFieldInfo - in fieldin2FieldInfo - in field 2public static NaryStepMap map(DslField<?>... inFieldInfos)
inFieldInfos - list of in fieldspublic static NaryStepMap map(java.util.stream.Stream<? extends DslField<?>> inFieldInfos)
inFieldInfos - list of in fieldspublic static <I> StaticStepMap<I> map(java.util.function.Supplier<I> valueSupplier)
I - value typevalueSupplier - value supplierpublic static <I> StaticStepMap<I> map(I value)
I - value typevalue - valuepublic static <I,C extends java.lang.Iterable<I>> IterableStepMap<I,C> mapIter(C value)
I - value typeC - container typevalue - value@SafeVarargs public static <I> IterableStepMap<I,java.util.List<I>> mapIter(I... values)
I - value typevalues - values to add to the listpublic static <O> MappingRule mapNull(DslField<O> outFieldInfo)
O - value typeoutFieldInfo - output fieldpublic static <I> ContextawareStepMap<I> map(java.util.function.BiFunction<FieldModel,Context,I> valueFunction)
I - value typevalueFunction - context dependent value functionpublic static <I> ContextawareStepMap<I> map(MappingInput<I> input)
I - value typeinput - mapping inputpublic static <I,J> BiContextawareStepMap<I,J> map(MappingInput<I> input, MappingInput<J> input2)
I - value typeJ - value type 2input - mapping inputinput2 - mapping inputpublic static <I,J> BiContextawareStepMap<I,J> map(java.util.function.BiFunction<FieldModel,Context,I> valueFunction, java.util.function.BiFunction<FieldModel,Context,J> valueFunction2)
I - value typeJ - value typevalueFunction - context dependent value functionvalueFunction2 - context dependent value functionpublic static MappingRegistry mappings(MappingRule... mappingRules)
MappingRegistry.mappings(MappingRule...)mappingRules - rulespublic static MappingRegistry mapRange(int startInclusive, int endExclusive, java.util.function.Function<java.lang.Integer,MappingRule> mappingRuleFunction)
startInclusive - inclusive start index, inclusiveendExclusive - exclusive end indexmappingRuleFunction - index to mapping rule functionpublic static <T extends DslField<?>> MappingRegistry mapFor(java.util.stream.Stream<T> fieldStream, java.util.function.Function<T,MappingRule> mappingRuleFunction)
T - field info typefieldStream - field streammappingRuleFunction - field to mapping rule functionpublic static <T extends DslField<?>> MappingRegistry mapWithIndex(java.util.stream.Stream<T> fieldStream, java.util.function.BiFunction<T,java.lang.Integer,MappingRule> mappingRuleFunction)
T - field info typefieldStream - field streammappingRuleFunction - field to mapping rule function with index in integerpublic static <T extends DslField<?>> T fieldInPosition(java.util.stream.Stream<T> fieldStream, int index)
T - field info typefieldStream - field streamindex - field list position@SafeVarargs public static <N extends java.lang.Number> NumericFunction<N> min(NumericFieldInfo<N>... fields)
N - the type of the field infosfields - the fields to minimizeNumericFunction.min(List)@SafeVarargs public static <N extends java.lang.Number> NumericFunction<N> sum(NumericFieldInfo<N>... fields)
N - the type of the field infosfields - the fields to sumNumericFunction.sum(List)@SafeVarargs public static <N extends java.lang.Number> NumericFunction<N> sum(NumericFunction<N>... conditions)
N - the type of the field infosconditions - the conditions to sumNumericFunction.sum(List)public static <T1 extends DslField<?>> TemplateSpec.Template1<T1> template(java.util.function.Supplier<TemplateParam<T1>> param1)
public static <T1 extends DslField<?>,T2 extends DslField<?>> TemplateSpec.Template2<T1,T2> template(java.util.function.Supplier<TemplateParam<T1>> param1, java.util.function.Supplier<TemplateParam<T2>> param2)
public static <T1 extends DslField<?>,T2 extends DslField<?>,T3 extends DslField<?>> TemplateSpec.Template3<T1,T2,T3> template(java.util.function.Supplier<TemplateParam<T1>> param1, java.util.function.Supplier<TemplateParam<T2>> param2, java.util.function.Supplier<TemplateParam<T3>> param3)
public static <T1 extends DslField<?>,T2 extends DslField<?>,T3 extends DslField<?>,T4 extends DslField<?>> TemplateSpec.Template4<T1,T2,T3,T4> template(java.util.function.Supplier<TemplateParam<T1>> param1, java.util.function.Supplier<TemplateParam<T2>> param2, java.util.function.Supplier<TemplateParam<T3>> param3, java.util.function.Supplier<TemplateParam<T4>> param4)
public static <T1 extends DslField<?>,T2 extends DslField<?>,T3 extends DslField<?>,T4 extends DslField<?>,T5 extends DslField<?>> TemplateSpec.Template5<T1,T2,T3,T4,T5> template(java.util.function.Supplier<TemplateParam<T1>> param1, java.util.function.Supplier<TemplateParam<T2>> param2, java.util.function.Supplier<TemplateParam<T3>> param3, java.util.function.Supplier<TemplateParam<T4>> param4, java.util.function.Supplier<TemplateParam<T5>> param5)
public static <T,F extends Function<T>,M extends ValuePredicateMetadata<M>> F lift(T value, java.util.function.BiFunction<ValuePredicateMetadata,java.util.function.BiFunction<FieldModel,Context,java.util.Optional<T>>,F> constructorRef)
StringFunction function = DOOV.lift(value, StringFunction::new);
T - value typeF - function typeM - valuemetadata typevalue - valueconstructorRef - function constructor reference@SafeVarargs public static <T> IterableFunction<T,java.util.List<T>> lift(T... value)
IterableFunction<Integer, List<Integer>> function = DOOV.lift(1, 2, 3, 4);
T - value typevalue - valuepublic static <T,F extends Function<T>> F fieldFunction(DslField<T> field, java.util.function.BiFunction<FieldMetadata<?>,java.util.function.BiFunction<FieldModel,Context,java.util.Optional<T>>,F> constructorRef)
T - field value typeF - function typefield - fieldconstructorRef - function constructor reference