Class MonitoredTunnelsBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.monitoring.ref.count.MonitoredTunnelsBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<MonitoredTunnels>
,org.opendaylight.yangtools.concepts.CheckedBuilder<MonitoredTunnels,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
public class MonitoredTunnelsBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<MonitoredTunnels>
Class that buildsMonitoredTunnelsBuilder
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:
MonitoredTunnelsBuilder createTarget(int fooXyzzy, int barBaz) { return new MonitoredTunnelsBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of MonitoredTunnelsBuilder, 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:
MonitoredTunnelsBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description MonitoredTunnelsBuilder()
MonitoredTunnelsBuilder(MonitoredTunnels base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description MonitoredTunnelsBuilder
addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels> augmentationValue)
<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
MonitoredTunnels
build()
org.opendaylight.yangtools.yang.common.Uint64
getDestinationDpn()
org.opendaylight.yangtools.yang.common.Uint16
getReferenceCount()
org.opendaylight.yangtools.yang.common.Uint64
getSourceDpn()
MonitoredTunnelsKey
key()
MonitoredTunnelsBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels>> augmentationType)
MonitoredTunnelsBuilder
setDestinationDpn(java.math.BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setDestinationDpn(Uint64)} instead.MonitoredTunnelsBuilder
setDestinationDpn(org.opendaylight.yangtools.yang.common.Uint64 value)
MonitoredTunnelsBuilder
setReferenceCount(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setReferenceCount(Uint16)} instead.MonitoredTunnelsBuilder
setReferenceCount(org.opendaylight.yangtools.yang.common.Uint16 value)
MonitoredTunnelsBuilder
setSourceDpn(java.math.BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setSourceDpn(Uint64)} instead.MonitoredTunnelsBuilder
setSourceDpn(org.opendaylight.yangtools.yang.common.Uint64 value)
MonitoredTunnelsBuilder
withKey(MonitoredTunnelsKey key)
-
-
-
Constructor Detail
-
MonitoredTunnelsBuilder
public MonitoredTunnelsBuilder()
-
MonitoredTunnelsBuilder
public MonitoredTunnelsBuilder(MonitoredTunnels base)
-
-
Method Detail
-
key
public MonitoredTunnelsKey key()
-
getDestinationDpn
public org.opendaylight.yangtools.yang.common.Uint64 getDestinationDpn()
-
getReferenceCount
public org.opendaylight.yangtools.yang.common.Uint16 getReferenceCount()
-
getSourceDpn
public org.opendaylight.yangtools.yang.common.Uint64 getSourceDpn()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
withKey
public MonitoredTunnelsBuilder withKey(MonitoredTunnelsKey key)
-
setDestinationDpn
public MonitoredTunnelsBuilder setDestinationDpn(org.opendaylight.yangtools.yang.common.Uint64 value)
-
setDestinationDpn
@Deprecated(forRemoval=true) public MonitoredTunnelsBuilder setDestinationDpn(java.math.BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setDestinationDpn(Uint64)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setReferenceCount
public MonitoredTunnelsBuilder setReferenceCount(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setReferenceCount
@Deprecated(forRemoval=true) public MonitoredTunnelsBuilder setReferenceCount(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setReferenceCount(Uint16)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setSourceDpn
public MonitoredTunnelsBuilder setSourceDpn(org.opendaylight.yangtools.yang.common.Uint64 value)
-
setSourceDpn
@Deprecated(forRemoval=true) public MonitoredTunnelsBuilder setSourceDpn(java.math.BigInteger value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setSourceDpn(Uint64)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
addAugmentation
public MonitoredTunnelsBuilder addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels> augmentationValue)
-
removeAugmentation
public MonitoredTunnelsBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MonitoredTunnels>> augmentationType)
-
build
public MonitoredTunnels build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<MonitoredTunnels>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<MonitoredTunnels,java.lang.IllegalArgumentException>
-
-