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>
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(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap> augmentationValue)
<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()
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()
SubnetmapKey
key()
SubnetmapBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>> augmentationType)
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.Use {#link setSegmentationId(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
-
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()
-
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()
-
isExternal
public java.lang.Boolean isExternal()
-
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)
-
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.Use {#link setSegmentationId(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)
-
setExternal
public SubnetmapBuilder setExternal(java.lang.Boolean value)
-
addAugmentation
public SubnetmapBuilder addAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap> augmentationValue)
-
removeAugmentation
public SubnetmapBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Subnetmap>> augmentationType)
-
-