Package io.ryos.rhino.sdk.dsl.impl
Class DslBuilderImpl
- java.lang.Object
-
- io.ryos.rhino.sdk.dsl.impl.AbstractDSLItem
-
- io.ryos.rhino.sdk.dsl.impl.DslBuilderImpl
-
- All Implemented Interfaces:
AssertionDsl
,DslBuilder
,DslItem
,IterableDsl
,MappableDsl
,MaterializableDsl
,MaterializableDslItem
,MeasureDsl
,SessionDsl
public class DslBuilderImpl extends AbstractDSLItem implements DslBuilder
Load DSL implementation, that is the container DSL instance to bind other DSL items.- Author:
- Erhan Bagdemir
-
-
Field Summary
-
Fields inherited from interface io.ryos.rhino.sdk.dsl.DslBuilder
dslMethodName
-
-
Constructor Summary
Constructors Constructor Description DslBuilderImpl(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DslBuilder
asLongAs(java.util.function.Predicate<UserSession> predicate, MaterializableDslItem dslItem)
Runs theMaterializableDslItem
as long as thePredicate
holds.DslBuilder
ensure(java.util.function.Predicate<UserSession> predicate)
Ensure DSL is to assert the predicate passed holds true, otherwise it stops the pipeline.DslBuilder
ensure(java.util.function.Predicate<UserSession> predicate, java.lang.String reason)
Ensure DSL is to assert the predicate passed holds true, otherwise it stops the pipeline.DslBuilder
filter(java.util.function.Predicate<UserSession> predicate)
Filter is used to filter according to the predicate.<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(ForEachBuilder<E,R,T> forEachBuilder)
For-each DSL spec loops through the sequence of elements built byForEachBuilder
instance.<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(java.lang.String name, ForEachBuilder<E,R,T> forEachBuilder)
For-each DSL spec loops through the sequence of elements built byForEachBuilder
instance.<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(java.util.function.Function<UserSession,R> iterableExtractor, java.util.function.Function<E,T> dslItemExtractor)
<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(java.util.function.Function<UserSession,R> iterableExtractor, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey)
<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(java.util.function.Function<UserSession,R> iterableExtractor, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey, SessionDslItem.Scope scope)
<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(R iterable, java.util.function.Function<E,T> dslItemExtractor)
<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(R iterable, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey)
<E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem>
DslBuilderforEach(R iterable, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey, SessionDslItem.Scope scope)
java.util.List<MaterializableDslItem>
getChildren()
<R,T>
DslBuildermap(MapperBuilder<R,T> mapperBuilder)
LoadDslMaterializer
materializer()
Create materializer instance for this spec instance.DslBuilder
measure(java.lang.String tag, MaterializableDslItem dslItem)
DslBuilder
repeat(MaterializableDslItem dslItem)
Runs theMaterializableDslItem
repeatedly.DslBuilder
run(MaterializableDslItem dslItem)
Runner DSL is aDslBuilder
instance to run theMaterializableDslItem
passed as parameter.DslBuilder
runIf(java.util.function.Predicate<UserSession> predicate, MaterializableDslItem dslItem)
Conditional runnable DSL is aDslBuilder
ifPredicate
returnstrue
, then the execution proceeds and it runs theMaterializableDslItem
passed as parameter.DslBuilder
session(java.lang.String sessionKey, java.lang.Object object)
Session DSL is used to save objects to the current define.DslBuilder
session(java.lang.String sessionKey, java.util.function.Supplier<java.lang.Object> objectSupplier)
Session DSL is used to save objects to the current define which are provided by the object supplier.DslBuilder
until(java.util.function.Predicate<UserSession> predicate, MaterializableDslItem dslItem)
Runs theMaterializableDslItem
till thePredicate
holds.<T> DslBuilder
verify(VerifiableDslItem dslItem, VerificationInfo<T> verificationInfo)
DslBuilder
wait(java.time.Duration duration)
Wait DSL is a DSL instance which makes execution halt forDuration
.DslBuilder
withName(java.lang.String dslName)
-
Methods inherited from class io.ryos.rhino.sdk.dsl.impl.AbstractDSLItem
getName, getParent, getParentName, hasParent, setName, setParent
-
-
-
-
Method Detail
-
wait
public DslBuilder wait(java.time.Duration duration)
Description copied from interface:DslBuilder
Wait DSL is a DSL instance which makes execution halt forDuration
.- Specified by:
wait
in interfaceDslBuilder
- Parameters:
duration
-Duration
to wait.- Returns:
DslBuilderImpl
instance.
-
run
public DslBuilder run(MaterializableDslItem dslItem)
Description copied from interface:DslBuilder
Runner DSL is aDslBuilder
instance to run theMaterializableDslItem
passed as parameter.- Specified by:
run
in interfaceDslBuilder
- Parameters:
dslItem
-MaterializableDslItem
to materialize and run.- Returns:
DslBuilderImpl
instance.
-
verify
public <T> DslBuilder verify(VerifiableDslItem dslItem, VerificationInfo<T> verificationInfo)
- Specified by:
verify
in interfaceDslBuilder
-
ensure
public DslBuilder ensure(java.util.function.Predicate<UserSession> predicate)
Description copied from interface:AssertionDsl
Ensure DSL is to assert the predicate passed holds true, otherwise it stops the pipeline.- Specified by:
ensure
in interfaceAssertionDsl
- Returns:
DslBuilderImpl
instance.
-
ensure
public DslBuilder ensure(java.util.function.Predicate<UserSession> predicate, java.lang.String reason)
Description copied from interface:AssertionDsl
Ensure DSL is to assert the predicate passed holds true, otherwise it stops the pipeline.- Specified by:
ensure
in interfaceAssertionDsl
- Returns:
DslBuilderImpl
instance.
-
session
public DslBuilder session(java.lang.String sessionKey, java.util.function.Supplier<java.lang.Object> objectSupplier)
Description copied from interface:SessionDsl
Session DSL is used to save objects to the current define which are provided by the object supplier.- Specified by:
session
in interfaceSessionDsl
- Parameters:
sessionKey
- Session key.objectSupplier
- Object provider.- Returns:
- Runnable DSL instance.
-
session
public DslBuilder session(java.lang.String sessionKey, java.lang.Object object)
Description copied from interface:SessionDsl
Session DSL is used to save objects to the current define.- Specified by:
session
in interfaceSessionDsl
object
- Object instance to store in the define.- Returns:
DslBuilder
instance.
-
map
public <R,T> DslBuilder map(MapperBuilder<R,T> mapperBuilder)
- Specified by:
map
in interfaceMappableDsl
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(java.lang.String name, ForEachBuilder<E,R,T> forEachBuilder)
Description copied from interface:IterableDsl
For-each DSL spec loops through the sequence of elements built byForEachBuilder
instance.- Specified by:
forEach
in interfaceIterableDsl
- Parameters:
name
- Name of the runner DSL.forEachBuilder
- Iterable builder.- Returns:
DslBuilder
runnable DSL instance.
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(java.util.function.Function<UserSession,R> iterableExtractor, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey, SessionDslItem.Scope scope)
- Specified by:
forEach
in interfaceIterableDsl
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(R iterable, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey, SessionDslItem.Scope scope)
- Specified by:
forEach
in interfaceIterableDsl
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(java.util.function.Function<UserSession,R> iterableExtractor, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey)
- Specified by:
forEach
in interfaceIterableDsl
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(R iterable, java.util.function.Function<E,T> dslItemExtractor, java.lang.String sessionKey)
- Specified by:
forEach
in interfaceIterableDsl
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(java.util.function.Function<UserSession,R> iterableExtractor, java.util.function.Function<E,T> dslItemExtractor)
- Specified by:
forEach
in interfaceIterableDsl
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(R iterable, java.util.function.Function<E,T> dslItemExtractor)
- Specified by:
forEach
in interfaceIterableDsl
-
forEach
public <E,R extends java.lang.Iterable<E>,T extends MaterializableDslItem> DslBuilder forEach(ForEachBuilder<E,R,T> forEachBuilder)
Description copied from interface:IterableDsl
For-each DSL spec loops through the sequence of elements built byForEachBuilder
instance.- Specified by:
forEach
in interfaceIterableDsl
- Parameters:
forEachBuilder
- Iterable builder.- Returns:
DslBuilder
runnable DSL instance.
-
repeat
public DslBuilder repeat(MaterializableDslItem dslItem)
Description copied from interface:IterableDsl
Runs theMaterializableDslItem
repeatedly.- Specified by:
repeat
in interfaceIterableDsl
- Parameters:
dslItem
-MaterializableDslItem
to run.- Returns:
DslBuilder
runnable DSL instance.
-
until
public DslBuilder until(java.util.function.Predicate<UserSession> predicate, MaterializableDslItem dslItem)
Description copied from interface:IterableDsl
Runs theMaterializableDslItem
till thePredicate
holds.- Specified by:
until
in interfaceIterableDsl
- Parameters:
predicate
- Run conditional.dslItem
-MaterializableDslItem
to run.- Returns:
DslBuilder
runnable DSL instance.
-
asLongAs
public DslBuilder asLongAs(java.util.function.Predicate<UserSession> predicate, MaterializableDslItem dslItem)
Description copied from interface:IterableDsl
Runs theMaterializableDslItem
as long as thePredicate
holds.- Specified by:
asLongAs
in interfaceIterableDsl
- Parameters:
predicate
- Run conditional.dslItem
-MaterializableDslItem
to run.- Returns:
DslBuilder
runnable DSL instance.
-
runIf
public DslBuilder runIf(java.util.function.Predicate<UserSession> predicate, MaterializableDslItem dslItem)
Description copied from interface:DslBuilder
Conditional runnable DSL is aDslBuilder
ifPredicate
returnstrue
, then the execution proceeds and it runs theMaterializableDslItem
passed as parameter.- Specified by:
runIf
in interfaceDslBuilder
- Parameters:
predicate
-Predicate
which is conditional for execution ofMaterializableDslItem
provided.dslItem
-MaterializableDslItem
to materialize and run.- Returns:
DslBuilderImpl
instance.
-
measure
public DslBuilder measure(java.lang.String tag, MaterializableDslItem dslItem)
- Specified by:
measure
in interfaceMeasureDsl
-
filter
public DslBuilder filter(java.util.function.Predicate<UserSession> predicate)
Description copied from interface:DslBuilder
Filter is used to filter according to the predicate.- Specified by:
filter
in interfaceDslBuilder
- Parameters:
predicate
- Predicate instance applied in filter.- Returns:
DslBuilderImpl
instance.
-
withName
public DslBuilder withName(java.lang.String dslName)
-
getChildren
public java.util.List<MaterializableDslItem> getChildren()
- Specified by:
getChildren
in interfaceDslItem
-
materializer
public LoadDslMaterializer materializer()
Description copied from interface:MaterializableDsl
Create materializer instance for this spec instance.- Specified by:
materializer
in interfaceMaterializableDsl
- Returns:
DslMaterializer
instance.
-
-