Class RouterToNaptSwitchBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.napt.switches.RouterToNaptSwitchBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<RouterToNaptSwitch>
,org.opendaylight.yangtools.concepts.CheckedBuilder<RouterToNaptSwitch,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class RouterToNaptSwitchBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<RouterToNaptSwitch>
Class that buildsRouterToNaptSwitchBuilder
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:
RouterToNaptSwitchBuilder createTarget(int fooXyzzy, int barBaz) { return new RouterToNaptSwitchBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of RouterToNaptSwitchBuilder, 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:
RouterToNaptSwitchBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description RouterToNaptSwitchBuilder()
RouterToNaptSwitchBuilder(RouterToNaptSwitch base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description RouterToNaptSwitchBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<RouterToNaptSwitch> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterToNaptSwitch>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
RouterToNaptSwitch
build()
java.lang.Boolean
getEnableSnat()
org.opendaylight.yangtools.yang.common.Uint64
getPrimarySwitchId()
java.lang.String
getRouterName()
java.lang.Boolean
isEnableSnat()
Deprecated, for removal: This API element is subject to removal in a future version.RouterToNaptSwitchKey
key()
RouterToNaptSwitchBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterToNaptSwitch>> augmentationType)
Remove an augmentation from this builder's product.RouterToNaptSwitchBuilder
setEnableSnat(java.lang.Boolean value)
RouterToNaptSwitchBuilder
setPrimarySwitchId(java.math.BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPrimarySwitchId(Uint64)
instead.RouterToNaptSwitchBuilder
setPrimarySwitchId(org.opendaylight.yangtools.yang.common.Uint64 value)
RouterToNaptSwitchBuilder
setRouterName(java.lang.String value)
RouterToNaptSwitchBuilder
withKey(RouterToNaptSwitchKey key)
-
-
-
Constructor Detail
-
RouterToNaptSwitchBuilder
public RouterToNaptSwitchBuilder()
-
RouterToNaptSwitchBuilder
public RouterToNaptSwitchBuilder(RouterToNaptSwitch base)
-
-
Method Detail
-
key
public RouterToNaptSwitchKey key()
-
getEnableSnat
public java.lang.Boolean getEnableSnat()
-
isEnableSnat
@Deprecated(forRemoval=true) public final java.lang.Boolean isEnableSnat()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getPrimarySwitchId
public org.opendaylight.yangtools.yang.common.Uint64 getPrimarySwitchId()
-
getRouterName
public java.lang.String getRouterName()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterToNaptSwitch>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
withKey
public RouterToNaptSwitchBuilder withKey(RouterToNaptSwitchKey key)
-
setEnableSnat
public RouterToNaptSwitchBuilder setEnableSnat(java.lang.Boolean value)
-
setPrimarySwitchId
public RouterToNaptSwitchBuilder setPrimarySwitchId(org.opendaylight.yangtools.yang.common.Uint64 value)
-
setPrimarySwitchId
@Deprecated(forRemoval=true) public RouterToNaptSwitchBuilder setPrimarySwitchId(java.math.BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPrimarySwitchId(Uint64)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setRouterName
public RouterToNaptSwitchBuilder setRouterName(java.lang.String value)
-
addAugmentation
public RouterToNaptSwitchBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<RouterToNaptSwitch> augmentation)
Add an augmentation to this builder's product.- Parameters:
augmentation
- augmentation to be added- Returns:
- this builder
- Throws:
java.lang.NullPointerException
- ifaugmentation
is null
-
removeAugmentation
public RouterToNaptSwitchBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterToNaptSwitch>> 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 RouterToNaptSwitch build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<RouterToNaptSwitch>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<RouterToNaptSwitch,java.lang.IllegalArgumentException>
-
-