Class SwitchFlowRemovedBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SwitchFlowRemovedBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<SwitchFlowRemoved>
,org.opendaylight.yangtools.concepts.CheckedBuilder<SwitchFlowRemoved,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class SwitchFlowRemovedBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<SwitchFlowRemoved>
Class that buildsSwitchFlowRemoved
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:
SwitchFlowRemoved createSwitchFlowRemoved(int fooXyzzy, int barBaz) { return new SwitchFlowRemovedBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of SwitchFlowRemoved, 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:
SwitchFlowRemoved
,Builder
-
-
Constructor Summary
Constructors Constructor Description SwitchFlowRemovedBuilder()
SwitchFlowRemovedBuilder(NodeFlowRemoved arg)
SwitchFlowRemovedBuilder(SwitchFlowRemoved base)
SwitchFlowRemovedBuilder(FlowModRemoved arg)
SwitchFlowRemovedBuilder(GenericFlowAttributes arg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SwitchFlowRemovedBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<SwitchFlowRemoved> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchFlowRemoved>>
E$$augmentation(Class<E$$> augmentationType)
SwitchFlowRemoved
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.org.opendaylight.yangtools.yang.common.Uint64
getByteCount()
FlowCookie
getCookie()
org.opendaylight.yangtools.yang.common.Uint32
getDurationNsec()
org.opendaylight.yangtools.yang.common.Uint32
getDurationSec()
FlowTableRef
getFlowTable()
org.opendaylight.yangtools.yang.common.Uint16
getHardTimeout()
org.opendaylight.yangtools.yang.common.Uint16
getIdleTimeout()
Match
getMatch()
NodeRef
getNode()
org.opendaylight.yangtools.yang.common.Uint64
getPacketCount()
org.opendaylight.yangtools.yang.common.Uint16
getPriority()
RemovedFlowReason
getRemovedReason()
org.opendaylight.yangtools.yang.common.Uint8
getTableId()
SwitchFlowRemovedBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchFlowRemoved>> augmentationType)
Remove an augmentation from this builder's product.SwitchFlowRemovedBuilder
setByteCount(org.opendaylight.yangtools.yang.common.Uint64 value)
SwitchFlowRemovedBuilder
setCookie(FlowCookie value)
SwitchFlowRemovedBuilder
setDurationNsec(org.opendaylight.yangtools.yang.common.Uint32 value)
SwitchFlowRemovedBuilder
setDurationSec(org.opendaylight.yangtools.yang.common.Uint32 value)
SwitchFlowRemovedBuilder
setFlowTable(FlowTableRef value)
SwitchFlowRemovedBuilder
setHardTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
SwitchFlowRemovedBuilder
setIdleTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
SwitchFlowRemovedBuilder
setMatch(Match value)
SwitchFlowRemovedBuilder
setNode(NodeRef value)
SwitchFlowRemovedBuilder
setPacketCount(org.opendaylight.yangtools.yang.common.Uint64 value)
SwitchFlowRemovedBuilder
setPriority(org.opendaylight.yangtools.yang.common.Uint16 value)
SwitchFlowRemovedBuilder
setRemovedReason(RemovedFlowReason value)
SwitchFlowRemovedBuilder
setTableId(org.opendaylight.yangtools.yang.common.Uint8 value)
-
-
-
Constructor Detail
-
SwitchFlowRemovedBuilder
public SwitchFlowRemovedBuilder()
-
SwitchFlowRemovedBuilder
public SwitchFlowRemovedBuilder(NodeFlowRemoved arg)
-
SwitchFlowRemovedBuilder
public SwitchFlowRemovedBuilder(FlowModRemoved arg)
-
SwitchFlowRemovedBuilder
public SwitchFlowRemovedBuilder(GenericFlowAttributes arg)
-
SwitchFlowRemovedBuilder
public SwitchFlowRemovedBuilder(SwitchFlowRemoved base)
-
-
Method Detail
-
fieldsFrom
public void fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument. Valid argument is instance of one of following types:- GenericFlowAttributes
- NodeFlowRemoved
- FlowModRemoved
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
getByteCount
public org.opendaylight.yangtools.yang.common.Uint64 getByteCount()
-
getCookie
public FlowCookie getCookie()
-
getDurationNsec
public org.opendaylight.yangtools.yang.common.Uint32 getDurationNsec()
-
getDurationSec
public org.opendaylight.yangtools.yang.common.Uint32 getDurationSec()
-
getFlowTable
public FlowTableRef getFlowTable()
-
getHardTimeout
public org.opendaylight.yangtools.yang.common.Uint16 getHardTimeout()
-
getIdleTimeout
public org.opendaylight.yangtools.yang.common.Uint16 getIdleTimeout()
-
getMatch
public Match getMatch()
-
getNode
public NodeRef getNode()
-
getPacketCount
public org.opendaylight.yangtools.yang.common.Uint64 getPacketCount()
-
getPriority
public org.opendaylight.yangtools.yang.common.Uint16 getPriority()
-
getRemovedReason
public RemovedFlowReason getRemovedReason()
-
getTableId
public org.opendaylight.yangtools.yang.common.Uint8 getTableId()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchFlowRemoved>> E$$ augmentation(Class<E$$> augmentationType)
-
setByteCount
public SwitchFlowRemovedBuilder setByteCount(org.opendaylight.yangtools.yang.common.Uint64 value)
-
setCookie
public SwitchFlowRemovedBuilder setCookie(FlowCookie value)
-
setDurationNsec
public SwitchFlowRemovedBuilder setDurationNsec(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setDurationSec
public SwitchFlowRemovedBuilder setDurationSec(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setFlowTable
public SwitchFlowRemovedBuilder setFlowTable(FlowTableRef value)
-
setHardTimeout
public SwitchFlowRemovedBuilder setHardTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setIdleTimeout
public SwitchFlowRemovedBuilder setIdleTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setMatch
public SwitchFlowRemovedBuilder setMatch(Match value)
-
setNode
public SwitchFlowRemovedBuilder setNode(NodeRef value)
-
setPacketCount
public SwitchFlowRemovedBuilder setPacketCount(org.opendaylight.yangtools.yang.common.Uint64 value)
-
setPriority
public SwitchFlowRemovedBuilder setPriority(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setRemovedReason
public SwitchFlowRemovedBuilder setRemovedReason(RemovedFlowReason value)
-
setTableId
public SwitchFlowRemovedBuilder setTableId(org.opendaylight.yangtools.yang.common.Uint8 value)
-
addAugmentation
public SwitchFlowRemovedBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<SwitchFlowRemoved> 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 SwitchFlowRemovedBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchFlowRemoved>> 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 SwitchFlowRemoved build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<SwitchFlowRemoved>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<SwitchFlowRemoved,IllegalArgumentException>
-
-