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 buildsLocatorRecord
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:
LocatorRecord createLocatorRecord(int fooXyzzy, int barBaz) { return new LocatorRecordBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of LocatorRecord, 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 opportunities, 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:
LocatorRecord
,Builder
-
-
Constructor Summary
Constructors Constructor Description LocatorRecordBuilder()
LocatorRecordBuilder(LocatorRecord base)
LocatorRecordBuilder(RlocContainer arg)
-
Method Summary
All Methods Instance Methods Concrete 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()
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(org.opendaylight.yangtools.yang.common.Uint8 value)
LocatorRecordBuilder
setMulticastWeight(org.opendaylight.yangtools.yang.common.Uint8 value)
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(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:- 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()
-
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()
-
getRouted
public java.lang.Boolean getRouted()
-
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)
-
setMulticastWeight
public LocatorRecordBuilder setMulticastWeight(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setPriority
public LocatorRecordBuilder setPriority(org.opendaylight.yangtools.yang.common.Uint8 value)
-
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)
-
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>
-
-