Class GeoCoordinatesBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.geo.coordinates.GeoCoordinatesBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<GeoCoordinates>
,org.opendaylight.yangtools.concepts.CheckedBuilder<GeoCoordinates,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class GeoCoordinatesBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<GeoCoordinates>
Class that buildsGeoCoordinates
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:
GeoCoordinates createGeoCoordinates(int fooXyzzy, int barBaz) { return new GeoCoordinatesBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of GeoCoordinates, 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:
GeoCoordinates
,Builder
-
-
Constructor Summary
Constructors Constructor Description GeoCoordinatesBuilder()
GeoCoordinatesBuilder(GeoCoordinates base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GeoCoordinatesBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<GeoCoordinates> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<GeoCoordinates>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
GeoCoordinates
build()
SimpleAddress
getAddress()
java.lang.Integer
getAltitude()
GeoCoordinates.Latitude
getLatitude()
org.opendaylight.yangtools.yang.common.Uint8
getLatitudeDegrees()
org.opendaylight.yangtools.yang.common.Uint8
getLatitudeMinutes()
org.opendaylight.yangtools.yang.common.Uint8
getLatitudeSeconds()
GeoCoordinates.Longitude
getLongitude()
org.opendaylight.yangtools.yang.common.Uint16
getLongitudeDegrees()
org.opendaylight.yangtools.yang.common.Uint8
getLongitudeMinutes()
org.opendaylight.yangtools.yang.common.Uint8
getLongitudeSeconds()
GeoCoordinatesBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<GeoCoordinates>> augmentationType)
Remove an augmentation from this builder's product.GeoCoordinatesBuilder
setAddress(SimpleAddress value)
GeoCoordinatesBuilder
setAltitude(java.lang.Integer value)
GeoCoordinatesBuilder
setLatitude(GeoCoordinates.Latitude value)
GeoCoordinatesBuilder
setLatitudeDegrees(org.opendaylight.yangtools.yang.common.Uint8 value)
GeoCoordinatesBuilder
setLatitudeMinutes(org.opendaylight.yangtools.yang.common.Uint8 value)
GeoCoordinatesBuilder
setLatitudeSeconds(org.opendaylight.yangtools.yang.common.Uint8 value)
GeoCoordinatesBuilder
setLongitude(GeoCoordinates.Longitude value)
GeoCoordinatesBuilder
setLongitudeDegrees(org.opendaylight.yangtools.yang.common.Uint16 value)
GeoCoordinatesBuilder
setLongitudeMinutes(org.opendaylight.yangtools.yang.common.Uint8 value)
GeoCoordinatesBuilder
setLongitudeSeconds(org.opendaylight.yangtools.yang.common.Uint8 value)
-
-
-
Constructor Detail
-
GeoCoordinatesBuilder
public GeoCoordinatesBuilder()
-
GeoCoordinatesBuilder
public GeoCoordinatesBuilder(GeoCoordinates base)
-
-
Method Detail
-
getAddress
public SimpleAddress getAddress()
-
getAltitude
public java.lang.Integer getAltitude()
-
getLatitude
public GeoCoordinates.Latitude getLatitude()
-
getLatitudeDegrees
public org.opendaylight.yangtools.yang.common.Uint8 getLatitudeDegrees()
-
getLatitudeMinutes
public org.opendaylight.yangtools.yang.common.Uint8 getLatitudeMinutes()
-
getLatitudeSeconds
public org.opendaylight.yangtools.yang.common.Uint8 getLatitudeSeconds()
-
getLongitude
public GeoCoordinates.Longitude getLongitude()
-
getLongitudeDegrees
public org.opendaylight.yangtools.yang.common.Uint16 getLongitudeDegrees()
-
getLongitudeMinutes
public org.opendaylight.yangtools.yang.common.Uint8 getLongitudeMinutes()
-
getLongitudeSeconds
public org.opendaylight.yangtools.yang.common.Uint8 getLongitudeSeconds()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<GeoCoordinates>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
setAddress
public GeoCoordinatesBuilder setAddress(SimpleAddress value)
-
setAltitude
public GeoCoordinatesBuilder setAltitude(java.lang.Integer value)
-
setLatitude
public GeoCoordinatesBuilder setLatitude(GeoCoordinates.Latitude value)
-
setLatitudeDegrees
public GeoCoordinatesBuilder setLatitudeDegrees(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setLatitudeMinutes
public GeoCoordinatesBuilder setLatitudeMinutes(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setLatitudeSeconds
public GeoCoordinatesBuilder setLatitudeSeconds(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setLongitude
public GeoCoordinatesBuilder setLongitude(GeoCoordinates.Longitude value)
-
setLongitudeDegrees
public GeoCoordinatesBuilder setLongitudeDegrees(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setLongitudeMinutes
public GeoCoordinatesBuilder setLongitudeMinutes(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setLongitudeSeconds
public GeoCoordinatesBuilder setLongitudeSeconds(org.opendaylight.yangtools.yang.common.Uint8 value)
-
addAugmentation
public GeoCoordinatesBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<GeoCoordinates> 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 GeoCoordinatesBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<GeoCoordinates>> 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 GeoCoordinates build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<GeoCoordinates>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<GeoCoordinates,java.lang.IllegalArgumentException>
-
-