Package org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapnotifynotification
Class MapNotifyBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapnotifynotification.MapNotifyBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<MapNotify>
,org.opendaylight.yangtools.concepts.CheckedBuilder<MapNotify,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
public class MapNotifyBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<MapNotify>
Class that buildsMapNotifyBuilder
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:
MapNotifyBuilder createTarget(int fooXyzzy, int barBaz) { return new MapNotifyBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of MapNotifyBuilder, 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:
MapNotifyBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description MapNotifyBuilder()
MapNotifyBuilder(MapNotify arg)
MapNotifyBuilder(MapNotify base)
MapNotifyBuilder(MappingRecordList arg)
MapNotifyBuilder(XtrSiteId arg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MapNotifyBuilder
addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify> augmentationValue)
<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
MapNotify
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.byte[]
getAuthenticationData()
java.lang.Short
getKeyId()
java.util.List<MappingRecordItem>
getMappingRecordItem()
java.lang.Long
getNonce()
SiteId
getSiteId()
XtrId
getXtrId()
java.lang.Boolean
isMergeEnabled()
java.lang.Boolean
isXtrSiteIdPresent()
MapNotifyBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify>> augmentationType)
MapNotifyBuilder
setAuthenticationData(byte[] value)
MapNotifyBuilder
setKeyId(java.lang.Short value)
MapNotifyBuilder
setMappingRecordItem(java.util.List<MappingRecordItem> values)
MapNotifyBuilder
setMergeEnabled(java.lang.Boolean value)
MapNotifyBuilder
setNonce(java.lang.Long value)
MapNotifyBuilder
setSiteId(SiteId value)
MapNotifyBuilder
setXtrId(XtrId value)
MapNotifyBuilder
setXtrSiteIdPresent(java.lang.Boolean value)
-
-
-
Constructor Detail
-
MapNotifyBuilder
public MapNotifyBuilder()
-
MapNotifyBuilder
public MapNotifyBuilder(MapNotify arg)
-
MapNotifyBuilder
public MapNotifyBuilder(MappingRecordList arg)
-
MapNotifyBuilder
public MapNotifyBuilder(XtrSiteId arg)
-
MapNotifyBuilder
public MapNotifyBuilder(MapNotify 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.MappingRecordList
- org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapNotify
- org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrSiteId
- Parameters:
arg
- grouping object- Throws:
java.lang.IllegalArgumentException
- if given argument is none of valid types
-
getAuthenticationData
public byte[] getAuthenticationData()
-
getKeyId
public java.lang.Short getKeyId()
-
getMappingRecordItem
public java.util.List<MappingRecordItem> getMappingRecordItem()
-
getNonce
public java.lang.Long getNonce()
-
getSiteId
public SiteId getSiteId()
-
getXtrId
public XtrId getXtrId()
-
isMergeEnabled
public java.lang.Boolean isMergeEnabled()
-
isXtrSiteIdPresent
public java.lang.Boolean isXtrSiteIdPresent()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
setAuthenticationData
public MapNotifyBuilder setAuthenticationData(byte[] value)
-
setKeyId
public MapNotifyBuilder setKeyId(java.lang.Short value)
-
setMappingRecordItem
public MapNotifyBuilder setMappingRecordItem(java.util.List<MappingRecordItem> values)
-
setNonce
public MapNotifyBuilder setNonce(java.lang.Long value)
-
setSiteId
public MapNotifyBuilder setSiteId(SiteId value)
-
setXtrId
public MapNotifyBuilder setXtrId(XtrId value)
-
setMergeEnabled
public MapNotifyBuilder setMergeEnabled(java.lang.Boolean value)
-
setXtrSiteIdPresent
public MapNotifyBuilder setXtrSiteIdPresent(java.lang.Boolean value)
-
addAugmentation
public MapNotifyBuilder addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify> augmentationValue)
-
removeAugmentation
public MapNotifyBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MapNotify>> augmentationType)
-
-