Class SubnetmapBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.subnetmaps.SubnetmapBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<Subnetmap>
,org.opendaylight.yangtools.concepts.CheckedBuilder<Subnetmap,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class SubnetmapBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<Subnetmap>
Class that buildsSubnetmapBuilder
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:
SubnetmapBuilder createTarget(int fooXyzzy, int barBaz) { return new SubnetmapBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of SubnetmapBuilder, 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:
SubnetmapBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description SubnetmapBuilder()
SubnetmapBuilder(NetworkAttributes arg)
SubnetmapBuilder(Subnetmap base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SubnetmapBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
Subnetmap
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid>
getDirectPortList()
java.lang.Boolean
getExternal()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getId()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getInternetVpnId()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getNetworkId()
NetworkAttributes.NetworkType
getNetworkType()
java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid>
getPortList()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getRouterId()
java.lang.String
getRouterInterfaceFixedIp()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getRouterInterfacePortId()
java.lang.String
getRouterIntfMacAddress()
org.opendaylight.yangtools.yang.common.Uint32
getSegmentationId()
java.lang.String
getSubnetIp()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getTenantId()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getVpnId()
java.lang.Boolean
isExternal()
Deprecated, for removal: This API element is subject to removal in a future version.SubnetmapKey
key()
SubnetmapBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>> augmentationType)
Remove an augmentation from this builder's product.SubnetmapBuilder
setDirectPortList(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> values)
SubnetmapBuilder
setExternal(java.lang.Boolean value)
SubnetmapBuilder
setId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
SubnetmapBuilder
setInternetVpnId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
SubnetmapBuilder
setNetworkId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
SubnetmapBuilder
setNetworkType(NetworkAttributes.NetworkType value)
SubnetmapBuilder
setPortList(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> values)
SubnetmapBuilder
setRouterId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
SubnetmapBuilder
setRouterInterfaceFixedIp(java.lang.String value)
SubnetmapBuilder
setRouterInterfacePortId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
SubnetmapBuilder
setRouterIntfMacAddress(java.lang.String value)
SubnetmapBuilder
setSegmentationId(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetSegmentationId(Uint32)
instead.SubnetmapBuilder
setSegmentationId(org.opendaylight.yangtools.yang.common.Uint32 value)
SubnetmapBuilder
setSubnetIp(java.lang.String value)
SubnetmapBuilder
setTenantId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
SubnetmapBuilder
setVpnId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
SubnetmapBuilder
withKey(SubnetmapKey key)
-
-
-
Constructor Detail
-
SubnetmapBuilder
public SubnetmapBuilder()
-
SubnetmapBuilder
public SubnetmapBuilder(NetworkAttributes arg)
-
SubnetmapBuilder
public SubnetmapBuilder(Subnetmap 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.netvirt.neutronvpn.rev150602.NetworkAttributes
- Parameters:
arg
- grouping object- Throws:
java.lang.IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
key
public SubnetmapKey key()
-
getDirectPortList
public java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getDirectPortList()
-
getExternal
public java.lang.Boolean getExternal()
-
isExternal
@Deprecated(forRemoval=true) public final java.lang.Boolean isExternal()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getId()
-
getInternetVpnId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getInternetVpnId()
-
getNetworkId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getNetworkId()
-
getNetworkType
public NetworkAttributes.NetworkType getNetworkType()
-
getPortList
public java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getPortList()
-
getRouterId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getRouterId()
-
getRouterInterfaceFixedIp
public java.lang.String getRouterInterfaceFixedIp()
-
getRouterInterfacePortId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getRouterInterfacePortId()
-
getRouterIntfMacAddress
public java.lang.String getRouterIntfMacAddress()
-
getSegmentationId
public org.opendaylight.yangtools.yang.common.Uint32 getSegmentationId()
-
getSubnetIp
public java.lang.String getSubnetIp()
-
getTenantId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getTenantId()
-
getVpnId
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getVpnId()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
withKey
public SubnetmapBuilder withKey(SubnetmapKey key)
-
setDirectPortList
public SubnetmapBuilder setDirectPortList(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> values)
-
setExternal
public SubnetmapBuilder setExternal(java.lang.Boolean value)
-
setId
public SubnetmapBuilder setId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setInternetVpnId
public SubnetmapBuilder setInternetVpnId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setNetworkId
public SubnetmapBuilder setNetworkId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setNetworkType
public SubnetmapBuilder setNetworkType(NetworkAttributes.NetworkType value)
-
setPortList
public SubnetmapBuilder setPortList(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> values)
-
setRouterId
public SubnetmapBuilder setRouterId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setRouterInterfaceFixedIp
public SubnetmapBuilder setRouterInterfaceFixedIp(java.lang.String value)
-
setRouterInterfacePortId
public SubnetmapBuilder setRouterInterfacePortId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setRouterIntfMacAddress
public SubnetmapBuilder setRouterIntfMacAddress(java.lang.String value)
-
setSegmentationId
public SubnetmapBuilder setSegmentationId(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setSegmentationId
@Deprecated(forRemoval=true) public SubnetmapBuilder setSegmentationId(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetSegmentationId(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setSubnetIp
public SubnetmapBuilder setSubnetIp(java.lang.String value)
-
setTenantId
public SubnetmapBuilder setTenantId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setVpnId
public SubnetmapBuilder setVpnId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
addAugmentation
public SubnetmapBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap> 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 SubnetmapBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>> 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
-
-