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>
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(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord> augmentationValue)
Deprecated, for removal: This API element is subject to removal in a future version.Use eitheraddAugmentation(Augmentation)
orremoveAugmentation(Class)
instead.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.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()
org.opendaylight.yangtools.yang.common.Uint8
getWeight()
java.lang.Boolean
isLocalLocator()
java.lang.Boolean
isRlocProbed()
java.lang.Boolean
isRouted()
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
-
key
public LocatorRecordKey key()
-
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()
-
getWeight
public org.opendaylight.yangtools.yang.common.Uint8 getWeight()
-
isLocalLocator
public java.lang.Boolean isLocalLocator()
-
isRlocProbed
public java.lang.Boolean isRlocProbed()
-
isRouted
public java.lang.Boolean isRouted()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
withKey
public LocatorRecordBuilder withKey(LocatorRecordKey key)
-
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)
-
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
-
setLocalLocator
public LocatorRecordBuilder setLocalLocator(java.lang.Boolean value)
-
setRlocProbed
public LocatorRecordBuilder setRlocProbed(java.lang.Boolean value)
-
setRouted
public LocatorRecordBuilder setRouted(java.lang.Boolean value)
-
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
-
addAugmentation
@Deprecated(forRemoval=true) public LocatorRecordBuilder addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<LocatorRecord> augmentationValue)
Deprecated, for removal: This API element is subject to removal in a future version.Use eitheraddAugmentation(Augmentation)
orremoveAugmentation(Class)
instead.Add or remove an augmentation to this builder's product.- Parameters:
augmentationType
- augmentation type to be added or removedaugmentationValue
- augmentation value, null if the augmentation type should be removed- Returns:
- this builder
-
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>
-
-