Class FlowTestInputBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.FlowTestInputBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<FlowTestInput>
,org.opendaylight.yangtools.concepts.CheckedBuilder<FlowTestInput,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class FlowTestInputBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<FlowTestInput>
Class that buildsFlowTestInput
instances. Overall design of the class is that of a fluent interface, where method chaining is used.In general, this class is supposed to be used like this template:
FlowTestInput createFlowTestInput(int fooXyzzy, int barBaz) { return new FlowTestInputBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of FlowTestInput, as instances can be freely passed around without worrying about synchronization issues.
As a side note: method chaining results in:
- very efficient Java bytecode, as the method invocation result, in this case the Builder reference, is
on the stack, so further method invocations just need to fill method arguments for the next method
invocation, which is terminated by
build()
, which is then returned from the method - better understanding by humans, as the scope of mutable state (the builder) is kept to a minimum and is very localized
- better optimization opportunities, as the object scope is minimized in terms of invocation (rather than method) stack, making escape analysis a lot easier. Given enough compiler (JIT/AOT) prowess, the cost of th builder object can be completely eliminated
- See Also:
FlowTestInput
,Builder
-
-
Constructor Summary
Constructors Constructor Description FlowTestInputBuilder()
FlowTestInputBuilder(FlowTestInput base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FlowTestInputBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<FlowTestInput> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowTestInput>>
E$$augmentation(Class<E$$> augmentationType)
FlowTestInput
build()
org.opendaylight.yangtools.yang.common.Uint32
getBatchSize()
Boolean
getCreateParents()
org.opendaylight.yangtools.yang.common.Uint32
getDpnCount()
org.opendaylight.yangtools.yang.common.Uint32
getEndTableId()
org.opendaylight.yangtools.yang.common.Uint32
getFlowsPerDpn()
Boolean
getIsAdd()
Boolean
getSeq()
org.opendaylight.yangtools.yang.common.Uint32
getSleepAfter()
org.opendaylight.yangtools.yang.common.Uint32
getSleepFor()
org.opendaylight.yangtools.yang.common.Uint32
getStartTableId()
Boolean
getTxChain()
FlowTestInputBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowTestInput>> augmentationType)
Remove an augmentation from this builder's product.FlowTestInputBuilder
setBatchSize(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowTestInputBuilder
setCreateParents(Boolean value)
FlowTestInputBuilder
setDpnCount(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowTestInputBuilder
setEndTableId(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowTestInputBuilder
setFlowsPerDpn(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowTestInputBuilder
setIsAdd(Boolean value)
FlowTestInputBuilder
setSeq(Boolean value)
FlowTestInputBuilder
setSleepAfter(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowTestInputBuilder
setSleepFor(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowTestInputBuilder
setStartTableId(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowTestInputBuilder
setTxChain(Boolean value)
-
-
-
Constructor Detail
-
FlowTestInputBuilder
public FlowTestInputBuilder()
-
FlowTestInputBuilder
public FlowTestInputBuilder(FlowTestInput base)
-
-
Method Detail
-
getBatchSize
public org.opendaylight.yangtools.yang.common.Uint32 getBatchSize()
-
getCreateParents
public Boolean getCreateParents()
-
getDpnCount
public org.opendaylight.yangtools.yang.common.Uint32 getDpnCount()
-
getEndTableId
public org.opendaylight.yangtools.yang.common.Uint32 getEndTableId()
-
getFlowsPerDpn
public org.opendaylight.yangtools.yang.common.Uint32 getFlowsPerDpn()
-
getIsAdd
public Boolean getIsAdd()
-
getSeq
public Boolean getSeq()
-
getSleepAfter
public org.opendaylight.yangtools.yang.common.Uint32 getSleepAfter()
-
getSleepFor
public org.opendaylight.yangtools.yang.common.Uint32 getSleepFor()
-
getStartTableId
public org.opendaylight.yangtools.yang.common.Uint32 getStartTableId()
-
getTxChain
public Boolean getTxChain()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowTestInput>> E$$ augmentation(Class<E$$> augmentationType)
-
setBatchSize
public FlowTestInputBuilder setBatchSize(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setCreateParents
public FlowTestInputBuilder setCreateParents(Boolean value)
-
setDpnCount
public FlowTestInputBuilder setDpnCount(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setEndTableId
public FlowTestInputBuilder setEndTableId(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setFlowsPerDpn
public FlowTestInputBuilder setFlowsPerDpn(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setIsAdd
public FlowTestInputBuilder setIsAdd(Boolean value)
-
setSeq
public FlowTestInputBuilder setSeq(Boolean value)
-
setSleepAfter
public FlowTestInputBuilder setSleepAfter(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setSleepFor
public FlowTestInputBuilder setSleepFor(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setStartTableId
public FlowTestInputBuilder setStartTableId(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setTxChain
public FlowTestInputBuilder setTxChain(Boolean value)
-
addAugmentation
public FlowTestInputBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<FlowTestInput> augmentation)
Add an augmentation to this builder's product.- Parameters:
augmentation
- augmentation to be added- Returns:
- this builder
- Throws:
NullPointerException
- ifaugmentation
is null
-
removeAugmentation
public FlowTestInputBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowTestInput>> augmentationType)
Remove an augmentation from this builder's product. If this builder does not track such an augmentation type, this method does nothing.- Parameters:
augmentationType
- augmentation type to be removed- Returns:
- this builder
-
build
public FlowTestInput build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<FlowTestInput>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<FlowTestInput,IllegalArgumentException>
-
-