Class LocatorRecordBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecordBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<LocatorRecord>
,org.opendaylight.yangtools.concepts.CheckedBuilder<LocatorRecord,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class LocatorRecordBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<LocatorRecord>
Class that buildsLocatorRecordBuilder
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:
LocatorRecordBuilder createTarget(int fooXyzzy, int barBaz) { return new LocatorRecordBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of LocatorRecordBuilder, 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:
LocatorRecordBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description LocatorRecordBuilder()
LocatorRecordBuilder(LocatorRecord base)
LocatorRecordBuilder(RlocContainer arg)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description LocatorRecordBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
LocatorRecord
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.java.lang.Boolean
getLocalLocator()
java.lang.String
getLocatorId()
org.opendaylight.yangtools.yang.common.Uint8
getMulticastPriority()
org.opendaylight.yangtools.yang.common.Uint8
getMulticastWeight()
org.opendaylight.yangtools.yang.common.Uint8
getPriority()
Rloc
getRloc()
java.lang.Boolean
getRlocProbed()
java.lang.Boolean
getRouted()
org.opendaylight.yangtools.yang.common.Uint8
getWeight()
java.lang.Boolean
isLocalLocator()
Deprecated, for removal: This API element is subject to removal in a future version.java.lang.Boolean
isRlocProbed()
Deprecated, for removal: This API element is subject to removal in a future version.java.lang.Boolean
isRouted()
Deprecated, for removal: This API element is subject to removal in a future version.LocatorRecordKey
key()
LocatorRecordBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord>> augmentationType)
Remove an augmentation from this builder's product.LocatorRecordBuilder
setLocalLocator(java.lang.Boolean value)
LocatorRecordBuilder
setLocatorId(java.lang.String value)
LocatorRecordBuilder
setMulticastPriority(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetMulticastPriority(Uint8)
instead.LocatorRecordBuilder
setMulticastPriority(org.opendaylight.yangtools.yang.common.Uint8 value)
LocatorRecordBuilder
setMulticastWeight(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetMulticastWeight(Uint8)
instead.LocatorRecordBuilder
setMulticastWeight(org.opendaylight.yangtools.yang.common.Uint8 value)
LocatorRecordBuilder
setPriority(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPriority(Uint8)
instead.LocatorRecordBuilder
setPriority(org.opendaylight.yangtools.yang.common.Uint8 value)
LocatorRecordBuilder
setRloc(Rloc value)
LocatorRecordBuilder
setRlocProbed(java.lang.Boolean value)
LocatorRecordBuilder
setRouted(java.lang.Boolean value)
LocatorRecordBuilder
setWeight(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetWeight(Uint8)
instead.LocatorRecordBuilder
setWeight(org.opendaylight.yangtools.yang.common.Uint8 value)
LocatorRecordBuilder
withKey(LocatorRecordKey key)
-
-
-
Constructor Detail
-
LocatorRecordBuilder
public LocatorRecordBuilder()
-
LocatorRecordBuilder
public LocatorRecordBuilder(RlocContainer arg)
-
LocatorRecordBuilder
public LocatorRecordBuilder(LocatorRecord 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.lfm.lisp.proto.rev151105.RlocContainer
- Parameters:
arg
- grouping object- Throws:
java.lang.IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
key
public LocatorRecordKey key()
-
getLocalLocator
public java.lang.Boolean getLocalLocator()
-
isLocalLocator
@Deprecated(forRemoval=true) public final java.lang.Boolean isLocalLocator()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getLocatorId
public java.lang.String getLocatorId()
-
getMulticastPriority
public org.opendaylight.yangtools.yang.common.Uint8 getMulticastPriority()
-
getMulticastWeight
public org.opendaylight.yangtools.yang.common.Uint8 getMulticastWeight()
-
getPriority
public org.opendaylight.yangtools.yang.common.Uint8 getPriority()
-
getRloc
public Rloc getRloc()
-
getRlocProbed
public java.lang.Boolean getRlocProbed()
-
isRlocProbed
@Deprecated(forRemoval=true) public final java.lang.Boolean isRlocProbed()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getRouted
public java.lang.Boolean getRouted()
-
isRouted
@Deprecated(forRemoval=true) public final java.lang.Boolean isRouted()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getWeight
public org.opendaylight.yangtools.yang.common.Uint8 getWeight()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
withKey
public LocatorRecordBuilder withKey(LocatorRecordKey key)
-
setLocalLocator
public LocatorRecordBuilder setLocalLocator(java.lang.Boolean value)
-
setLocatorId
public LocatorRecordBuilder setLocatorId(java.lang.String value)
-
setMulticastPriority
public LocatorRecordBuilder setMulticastPriority(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setMulticastPriority
@Deprecated(forRemoval=true) public LocatorRecordBuilder setMulticastPriority(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetMulticastPriority(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setMulticastWeight
public LocatorRecordBuilder setMulticastWeight(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setMulticastWeight
@Deprecated(forRemoval=true) public LocatorRecordBuilder setMulticastWeight(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetMulticastWeight(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setPriority
public LocatorRecordBuilder setPriority(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setPriority
@Deprecated(forRemoval=true) public LocatorRecordBuilder setPriority(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPriority(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setRloc
public LocatorRecordBuilder setRloc(Rloc value)
-
setRlocProbed
public LocatorRecordBuilder setRlocProbed(java.lang.Boolean value)
-
setRouted
public LocatorRecordBuilder setRouted(java.lang.Boolean value)
-
setWeight
public LocatorRecordBuilder setWeight(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setWeight
@Deprecated(forRemoval=true) public LocatorRecordBuilder setWeight(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetWeight(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
addAugmentation
public LocatorRecordBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord> 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 LocatorRecordBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord>> 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 LocatorRecord build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<LocatorRecord>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<LocatorRecord,java.lang.IllegalArgumentException>
-
-