Package org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.intext.ip.map.ip.mapping
Class IpMapBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.intext.ip.map.ip.mapping.IpMapBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<IpMap>
,org.opendaylight.yangtools.concepts.CheckedBuilder<IpMap,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
public class IpMapBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<IpMap>
Class that buildsIpMapBuilder
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:
IpMapBuilder createTarget(int fooXyzzy, int barBaz) { return new IpMapBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of IpMapBuilder, 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:
IpMapBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description IpMapBuilder()
IpMapBuilder(IpMap base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description IpMapBuilder
addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<IpMap>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<IpMap> augmentationValue)
<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<IpMap>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
IpMap
build()
java.lang.String
getExternalIp()
java.lang.String
getInternalIp()
org.opendaylight.yangtools.yang.common.Uint32
getLabel()
IpMapKey
key()
IpMapBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<IpMap>> augmentationType)
IpMapBuilder
setExternalIp(java.lang.String value)
IpMapBuilder
setInternalIp(java.lang.String value)
IpMapBuilder
setLabel(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setLabel(Uint32)} instead.IpMapBuilder
setLabel(org.opendaylight.yangtools.yang.common.Uint32 value)
IpMapBuilder
withKey(IpMapKey key)
-
-
-
Constructor Detail
-
IpMapBuilder
public IpMapBuilder()
-
IpMapBuilder
public IpMapBuilder(IpMap base)
-
-
Method Detail
-
key
public IpMapKey key()
-
getExternalIp
public java.lang.String getExternalIp()
-
getInternalIp
public java.lang.String getInternalIp()
-
getLabel
public org.opendaylight.yangtools.yang.common.Uint32 getLabel()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<IpMap>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
withKey
public IpMapBuilder withKey(IpMapKey key)
-
setExternalIp
public IpMapBuilder setExternalIp(java.lang.String value)
-
setInternalIp
public IpMapBuilder setInternalIp(java.lang.String value)
-
setLabel
public IpMapBuilder setLabel(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setLabel
@Deprecated(forRemoval=true) public IpMapBuilder setLabel(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setLabel(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
addAugmentation
public IpMapBuilder addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<IpMap>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<IpMap> augmentationValue)
-
removeAugmentation
public IpMapBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<IpMap>> augmentationType)
-
-