Class MapRequestBuilder
java.lang.Object
org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequestmessage.MapRequestBuilder
Class that builds
MapRequest
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:
MapRequest createMapRequest(int fooXyzzy, int barBaz) {
return new MapRequestBuilder()
.setFoo(new FooBuilder().setXyzzy(fooXyzzy).build())
.setBar(new BarBuilder().setBaz(barBaz).build())
.build();
}
This pattern is supported by the immutable nature of MapRequest, 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:
-
Constructor Summary
ConstructorDescriptionConstruct an empty builder.MapRequestBuilder
(EidList arg) Construct a new builder initialized from specifiedEidList
.Construct a new builder initialized from specifiedMapRequest
.MapRequestBuilder
(MapRequest base) Construct a builder initialized with state from specifiedMapRequest
.Construct a new builder initialized from specifiedMapRequestMetadata
. -
Method Summary
Modifier and TypeMethodDescriptionaddAugmentation
(org.opendaylight.yangtools.yang.binding.Augmentation<MapRequest> augmentation) Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MapRequest>>
E$$augmentation
(Class<E$$> augmentationType) Return the specified augmentation, if it is present in this builder.@NonNull MapRequest
build()
A newMapRequest
instance.void
fieldsFrom
(org.opendaylight.yangtools.yang.binding.DataObject arg) Set fields from given grouping argument.Return current value associated with the property corresponding toMapRequest.getAuthoritative()
.Return current value associated with the property corresponding toEidList.getEidItem()
.Return current value associated with the property corresponding toMapRequest.getItrRloc()
.Return current value associated with the property corresponding toMapRequest.getMapDataPresent()
.Return current value associated with the property corresponding toMapRequest.getMapReply()
.getNonce()
Return current value associated with the property corresponding toMapRequest.getNonce()
.getPitr()
Return current value associated with the property corresponding toMapRequest.getPitr()
.getProbe()
Return current value associated with the property corresponding toMapRequest.getProbe()
.getSmr()
Return current value associated with the property corresponding toMapRequest.getSmr()
.Return current value associated with the property corresponding toMapRequest.getSmrInvoked()
.Return current value associated with the property corresponding toMapRequest.getSourceEid()
.Return current value associated with the property corresponding toMapRequestMetadata.getSourceRloc()
.removeAugmentation
(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MapRequest>> augmentationType) Remove an augmentation from this builder's product.setAuthoritative
(Boolean value) Set the property corresponding toMapRequest.getAuthoritative()
to the specified value.setEidItem
(List<EidItem> values) Set the property corresponding toEidList.getEidItem()
to the specified value.setItrRloc
(List<ItrRloc> values) Set the property corresponding toMapRequest.getItrRloc()
to the specified value.setMapDataPresent
(Boolean value) Set the property corresponding toMapRequest.getMapDataPresent()
to the specified value.setMapReply
(MapReply value) Set the property corresponding toMapRequest.getMapReply()
to the specified value.Set the property corresponding toMapRequest.getNonce()
to the specified value.Set the property corresponding toMapRequest.getPitr()
to the specified value.Set the property corresponding toMapRequest.getProbe()
to the specified value.Set the property corresponding toMapRequest.getSmr()
to the specified value.setSmrInvoked
(Boolean value) Set the property corresponding toMapRequest.getSmrInvoked()
to the specified value.setSourceEid
(SourceEid value) Set the property corresponding toMapRequest.getSourceEid()
to the specified value.setSourceRloc
(IpAddressBinary value) Set the property corresponding toMapRequestMetadata.getSourceRloc()
to the specified value.
-
Constructor Details
-
MapRequestBuilder
public MapRequestBuilder()Construct an empty builder. -
MapRequestBuilder
Construct a new builder initialized from specifiedMapRequest
.- Parameters:
arg
- org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapRequest from which the builder should be initialized
-
MapRequestBuilder
Construct a new builder initialized from specifiedEidList
.- Parameters:
arg
- EidList from which the builder should be initialized
-
MapRequestBuilder
Construct a new builder initialized from specifiedMapRequestMetadata
.- Parameters:
arg
- MapRequestMetadata from which the builder should be initialized
-
MapRequestBuilder
Construct a builder initialized with state from specifiedMapRequest
.- Parameters:
base
- MapRequest from which the builder should be initialized
-
-
Method Details
-
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:- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
getAuthoritative
Return current value associated with the property corresponding toMapRequest.getAuthoritative()
.- Returns:
- current value
-
getEidItem
Return current value associated with the property corresponding toEidList.getEidItem()
.- Returns:
- current value
-
getItrRloc
Return current value associated with the property corresponding toMapRequest.getItrRloc()
.- Returns:
- current value
-
getMapDataPresent
Return current value associated with the property corresponding toMapRequest.getMapDataPresent()
.- Returns:
- current value
-
getMapReply
Return current value associated with the property corresponding toMapRequest.getMapReply()
.- Returns:
- current value
-
getNonce
Return current value associated with the property corresponding toMapRequest.getNonce()
.- Returns:
- current value
-
getPitr
Return current value associated with the property corresponding toMapRequest.getPitr()
.- Returns:
- current value
-
getProbe
Return current value associated with the property corresponding toMapRequest.getProbe()
.- Returns:
- current value
-
getSmr
Return current value associated with the property corresponding toMapRequest.getSmr()
.- Returns:
- current value
-
getSmrInvoked
Return current value associated with the property corresponding toMapRequest.getSmrInvoked()
.- Returns:
- current value
-
getSourceEid
Return current value associated with the property corresponding toMapRequest.getSourceEid()
.- Returns:
- current value
-
getSourceRloc
Return current value associated with the property corresponding toMapRequestMetadata.getSourceRloc()
.- Returns:
- current value
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MapRequest>> E$$ augmentation(Class<E$$> augmentationType) Return the specified augmentation, if it is present in this builder.- Type Parameters:
E$$
- augmentation type- Parameters:
augmentationType
- augmentation type class- Returns:
- Augmentation object from this builder, or
null
if not present - Throws:
NullPointerException
- ifaugmentType
isnull
-
setAuthoritative
Set the property corresponding toMapRequest.getAuthoritative()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setEidItem
Set the property corresponding toEidList.getEidItem()
to the specified value.- Parameters:
values
- desired value- Returns:
- this builder
-
setItrRloc
Set the property corresponding toMapRequest.getItrRloc()
to the specified value.- Parameters:
values
- desired value- Returns:
- this builder
-
setMapDataPresent
Set the property corresponding toMapRequest.getMapDataPresent()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setMapReply
Set the property corresponding toMapRequest.getMapReply()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setNonce
Set the property corresponding toMapRequest.getNonce()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setPitr
Set the property corresponding toMapRequest.getPitr()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setProbe
Set the property corresponding toMapRequest.getProbe()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setSmr
Set the property corresponding toMapRequest.getSmr()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setSmrInvoked
Set the property corresponding toMapRequest.getSmrInvoked()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setSourceEid
Set the property corresponding toMapRequest.getSourceEid()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
setSourceRloc
Set the property corresponding toMapRequestMetadata.getSourceRloc()
to the specified value.- Parameters:
value
- desired value- Returns:
- this builder
-
addAugmentation
public MapRequestBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<MapRequest> augmentation) Add an augmentation to this builder's product.- Parameters:
augmentation
- augmentation to be added- Returns:
- this builder
- Throws:
NullPointerException
- ifaugmentation
is null
-
removeAugmentation
public MapRequestBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MapRequest>> 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
A newMapRequest
instance.- Returns:
- A new
MapRequest
instance.
-