Class FlowModInputBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowModInputBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<FlowModInput>
,org.opendaylight.yangtools.concepts.CheckedBuilder<FlowModInput,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class FlowModInputBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<FlowModInput>
Class that buildsFlowModInputBuilder
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:
FlowModInputBuilder createTarget(int fooXyzzy, int barBaz) { return new FlowModInputBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of FlowModInputBuilder, 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 oportunities, 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:
FlowModInputBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description FlowModInputBuilder()
FlowModInputBuilder(ActionsGrouping arg)
FlowModInputBuilder(InstructionsGrouping arg)
FlowModInputBuilder(MatchGrouping arg)
FlowModInputBuilder(MatchV10Grouping arg)
FlowModInputBuilder(FlowMod arg)
FlowModInputBuilder(FlowModInput base)
FlowModInputBuilder(OfHeader arg)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description FlowModInputBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<FlowModInput> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowModInput>>
E$$augmentation(Class<E$$> augmentationType)
FlowModInput
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.List<Action>
getAction()
org.opendaylight.yangtools.yang.common.Uint32
getBufferId()
FlowModCommand
getCommand()
org.opendaylight.yangtools.yang.common.Uint64
getCookie()
org.opendaylight.yangtools.yang.common.Uint64
getCookieMask()
FlowModFlags
getFlags()
FlowModFlagsV10
getFlagsV10()
org.opendaylight.yangtools.yang.common.Uint16
getHardTimeout()
org.opendaylight.yangtools.yang.common.Uint16
getIdleTimeout()
List<Instruction>
getInstruction()
Match
getMatch()
MatchV10
getMatchV10()
org.opendaylight.yangtools.yang.common.Uint32
getOutGroup()
PortNumber
getOutPort()
org.opendaylight.yangtools.yang.common.Uint16
getPriority()
TableId
getTableId()
org.opendaylight.yangtools.yang.common.Uint8
getVersion()
org.opendaylight.yangtools.yang.common.Uint32
getXid()
FlowModInputBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowModInput>> augmentationType)
Remove an augmentation from this builder's product.FlowModInputBuilder
setAction(List<Action> values)
FlowModInputBuilder
setBufferId(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetBufferId(Uint32)
instead.FlowModInputBuilder
setBufferId(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowModInputBuilder
setCommand(FlowModCommand value)
FlowModInputBuilder
setCookie(BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetCookie(Uint64)
instead.FlowModInputBuilder
setCookie(org.opendaylight.yangtools.yang.common.Uint64 value)
FlowModInputBuilder
setCookieMask(BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetCookieMask(Uint64)
instead.FlowModInputBuilder
setCookieMask(org.opendaylight.yangtools.yang.common.Uint64 value)
FlowModInputBuilder
setFlags(FlowModFlags value)
FlowModInputBuilder
setFlagsV10(FlowModFlagsV10 value)
FlowModInputBuilder
setHardTimeout(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetHardTimeout(Uint16)
instead.FlowModInputBuilder
setHardTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
FlowModInputBuilder
setIdleTimeout(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIdleTimeout(Uint16)
instead.FlowModInputBuilder
setIdleTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
FlowModInputBuilder
setInstruction(List<Instruction> values)
FlowModInputBuilder
setMatch(Match value)
FlowModInputBuilder
setMatchV10(MatchV10 value)
FlowModInputBuilder
setOutGroup(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetOutGroup(Uint32)
instead.FlowModInputBuilder
setOutGroup(org.opendaylight.yangtools.yang.common.Uint32 value)
FlowModInputBuilder
setOutPort(PortNumber value)
FlowModInputBuilder
setPriority(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPriority(Uint16)
instead.FlowModInputBuilder
setPriority(org.opendaylight.yangtools.yang.common.Uint16 value)
FlowModInputBuilder
setTableId(TableId value)
FlowModInputBuilder
setVersion(Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetVersion(Uint8)
instead.FlowModInputBuilder
setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
FlowModInputBuilder
setXid(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetXid(Uint32)
instead.FlowModInputBuilder
setXid(org.opendaylight.yangtools.yang.common.Uint32 value)
-
-
-
Constructor Detail
-
FlowModInputBuilder
public FlowModInputBuilder()
-
FlowModInputBuilder
public FlowModInputBuilder(FlowMod arg)
-
FlowModInputBuilder
public FlowModInputBuilder(OfHeader arg)
-
FlowModInputBuilder
public FlowModInputBuilder(MatchGrouping arg)
-
FlowModInputBuilder
public FlowModInputBuilder(InstructionsGrouping arg)
-
FlowModInputBuilder
public FlowModInputBuilder(MatchV10Grouping arg)
-
FlowModInputBuilder
public FlowModInputBuilder(ActionsGrouping arg)
-
FlowModInputBuilder
public FlowModInputBuilder(FlowModInput 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:- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchV10Grouping
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchGrouping
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.ActionsGrouping
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.InstructionsGrouping
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowMod
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
getBufferId
public org.opendaylight.yangtools.yang.common.Uint32 getBufferId()
-
getCommand
public FlowModCommand getCommand()
-
getCookie
public org.opendaylight.yangtools.yang.common.Uint64 getCookie()
-
getCookieMask
public org.opendaylight.yangtools.yang.common.Uint64 getCookieMask()
-
getFlags
public FlowModFlags getFlags()
-
getFlagsV10
public FlowModFlagsV10 getFlagsV10()
-
getHardTimeout
public org.opendaylight.yangtools.yang.common.Uint16 getHardTimeout()
-
getIdleTimeout
public org.opendaylight.yangtools.yang.common.Uint16 getIdleTimeout()
-
getInstruction
public List<Instruction> getInstruction()
-
getMatch
public Match getMatch()
-
getMatchV10
public MatchV10 getMatchV10()
-
getOutGroup
public org.opendaylight.yangtools.yang.common.Uint32 getOutGroup()
-
getOutPort
public PortNumber getOutPort()
-
getPriority
public org.opendaylight.yangtools.yang.common.Uint16 getPriority()
-
getTableId
public TableId getTableId()
-
getVersion
public org.opendaylight.yangtools.yang.common.Uint8 getVersion()
-
getXid
public org.opendaylight.yangtools.yang.common.Uint32 getXid()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowModInput>> E$$ augmentation(Class<E$$> augmentationType)
-
setAction
public FlowModInputBuilder setAction(List<Action> values)
-
setBufferId
public FlowModInputBuilder setBufferId(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setBufferId
@Deprecated(forRemoval=true) public FlowModInputBuilder setBufferId(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetBufferId(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setCommand
public FlowModInputBuilder setCommand(FlowModCommand value)
-
setCookie
public FlowModInputBuilder setCookie(org.opendaylight.yangtools.yang.common.Uint64 value)
-
setCookie
@Deprecated(forRemoval=true) public FlowModInputBuilder setCookie(BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetCookie(Uint64)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setCookieMask
public FlowModInputBuilder setCookieMask(org.opendaylight.yangtools.yang.common.Uint64 value)
-
setCookieMask
@Deprecated(forRemoval=true) public FlowModInputBuilder setCookieMask(BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetCookieMask(Uint64)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setFlags
public FlowModInputBuilder setFlags(FlowModFlags value)
-
setFlagsV10
public FlowModInputBuilder setFlagsV10(FlowModFlagsV10 value)
-
setHardTimeout
public FlowModInputBuilder setHardTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setHardTimeout
@Deprecated(forRemoval=true) public FlowModInputBuilder setHardTimeout(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetHardTimeout(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setIdleTimeout
public FlowModInputBuilder setIdleTimeout(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setIdleTimeout
@Deprecated(forRemoval=true) public FlowModInputBuilder setIdleTimeout(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIdleTimeout(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setInstruction
public FlowModInputBuilder setInstruction(List<Instruction> values)
-
setMatch
public FlowModInputBuilder setMatch(Match value)
-
setMatchV10
public FlowModInputBuilder setMatchV10(MatchV10 value)
-
setOutGroup
public FlowModInputBuilder setOutGroup(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setOutGroup
@Deprecated(forRemoval=true) public FlowModInputBuilder setOutGroup(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetOutGroup(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setOutPort
public FlowModInputBuilder setOutPort(PortNumber value)
-
setPriority
public FlowModInputBuilder setPriority(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setPriority
@Deprecated(forRemoval=true) public FlowModInputBuilder setPriority(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPriority(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setTableId
public FlowModInputBuilder setTableId(TableId value)
-
setVersion
public FlowModInputBuilder setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setVersion
@Deprecated(forRemoval=true) public FlowModInputBuilder setVersion(Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetVersion(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setXid
public FlowModInputBuilder setXid(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setXid
@Deprecated(forRemoval=true) public FlowModInputBuilder setXid(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetXid(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
addAugmentation
public FlowModInputBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<FlowModInput> 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 FlowModInputBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<FlowModInput>> 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 FlowModInput build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<FlowModInput>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<FlowModInput,IllegalArgumentException>
-
-