Class SwitchConnectionConfigBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow._switch.connection.config.rev160506.SwitchConnectionConfigBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<SwitchConnectionConfig>
,org.opendaylight.yangtools.concepts.CheckedBuilder<SwitchConnectionConfig,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class SwitchConnectionConfigBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<SwitchConnectionConfig>
Class that buildsSwitchConnectionConfigBuilder
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:
SwitchConnectionConfigBuilder createTarget(int fooXyzzy, int barBaz) { return new SwitchConnectionConfigBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of SwitchConnectionConfigBuilder, 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:
SwitchConnectionConfigBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description SwitchConnectionConfigBuilder()
SwitchConnectionConfigBuilder(SwitchConnectionConfig base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SwitchConnectionConfigBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>>
E$$augmentation(Class<E$$> augmentationType)
SwitchConnectionConfig
build()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress
getAddress()
org.opendaylight.yangtools.yang.common.Uint16
getChannelOutboundQueueSize()
Boolean
getGroupAddModEnabled()
String
getInstanceName()
org.opendaylight.yangtools.yang.common.Uint16
getPort()
org.opendaylight.yangtools.yang.common.Uint32
getSwitchIdleTimeout()
Threads
getThreads()
Tls
getTls()
TransportProtocol
getTransportProtocol()
Boolean
getUseBarrier()
Boolean
isGroupAddModEnabled()
Deprecated, for removal: This API element is subject to removal in a future version.Boolean
isUseBarrier()
Deprecated, for removal: This API element is subject to removal in a future version.SwitchConnectionConfigKey
key()
SwitchConnectionConfigBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>> augmentationType)
Remove an augmentation from this builder's product.SwitchConnectionConfigBuilder
setAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress value)
SwitchConnectionConfigBuilder
setChannelOutboundQueueSize(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetChannelOutboundQueueSize(Uint16)
instead.SwitchConnectionConfigBuilder
setChannelOutboundQueueSize(org.opendaylight.yangtools.yang.common.Uint16 value)
SwitchConnectionConfigBuilder
setGroupAddModEnabled(Boolean value)
SwitchConnectionConfigBuilder
setInstanceName(String value)
SwitchConnectionConfigBuilder
setPort(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPort(Uint16)
instead.SwitchConnectionConfigBuilder
setPort(org.opendaylight.yangtools.yang.common.Uint16 value)
SwitchConnectionConfigBuilder
setSwitchIdleTimeout(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetSwitchIdleTimeout(Uint32)
instead.SwitchConnectionConfigBuilder
setSwitchIdleTimeout(org.opendaylight.yangtools.yang.common.Uint32 value)
SwitchConnectionConfigBuilder
setThreads(Threads value)
SwitchConnectionConfigBuilder
setTls(Tls value)
SwitchConnectionConfigBuilder
setTransportProtocol(TransportProtocol value)
SwitchConnectionConfigBuilder
setUseBarrier(Boolean value)
SwitchConnectionConfigBuilder
withKey(SwitchConnectionConfigKey key)
-
-
-
Constructor Detail
-
SwitchConnectionConfigBuilder
public SwitchConnectionConfigBuilder()
-
SwitchConnectionConfigBuilder
public SwitchConnectionConfigBuilder(SwitchConnectionConfig base)
-
-
Method Detail
-
key
public SwitchConnectionConfigKey key()
-
getAddress
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress getAddress()
-
getChannelOutboundQueueSize
public org.opendaylight.yangtools.yang.common.Uint16 getChannelOutboundQueueSize()
-
getGroupAddModEnabled
public Boolean getGroupAddModEnabled()
-
isGroupAddModEnabled
@Deprecated(forRemoval=true) public final Boolean isGroupAddModEnabled()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getInstanceName
public String getInstanceName()
-
getPort
public org.opendaylight.yangtools.yang.common.Uint16 getPort()
-
getSwitchIdleTimeout
public org.opendaylight.yangtools.yang.common.Uint32 getSwitchIdleTimeout()
-
getThreads
public Threads getThreads()
-
getTls
public Tls getTls()
-
getTransportProtocol
public TransportProtocol getTransportProtocol()
-
getUseBarrier
public Boolean getUseBarrier()
-
isUseBarrier
@Deprecated(forRemoval=true) public final Boolean isUseBarrier()
Deprecated, for removal: This API element is subject to removal in a future version.
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>> E$$ augmentation(Class<E$$> augmentationType)
-
withKey
public SwitchConnectionConfigBuilder withKey(SwitchConnectionConfigKey key)
-
setAddress
public SwitchConnectionConfigBuilder setAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress value)
-
setChannelOutboundQueueSize
public SwitchConnectionConfigBuilder setChannelOutboundQueueSize(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setChannelOutboundQueueSize
@Deprecated(forRemoval=true) public SwitchConnectionConfigBuilder setChannelOutboundQueueSize(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetChannelOutboundQueueSize(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setGroupAddModEnabled
public SwitchConnectionConfigBuilder setGroupAddModEnabled(Boolean value)
-
setInstanceName
public SwitchConnectionConfigBuilder setInstanceName(String value)
-
setPort
public SwitchConnectionConfigBuilder setPort(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setPort
@Deprecated(forRemoval=true) public SwitchConnectionConfigBuilder setPort(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetPort(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setSwitchIdleTimeout
public SwitchConnectionConfigBuilder setSwitchIdleTimeout(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setSwitchIdleTimeout
@Deprecated(forRemoval=true) public SwitchConnectionConfigBuilder setSwitchIdleTimeout(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetSwitchIdleTimeout(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setThreads
public SwitchConnectionConfigBuilder setThreads(Threads value)
-
setTls
public SwitchConnectionConfigBuilder setTls(Tls value)
-
setTransportProtocol
public SwitchConnectionConfigBuilder setTransportProtocol(TransportProtocol value)
-
setUseBarrier
public SwitchConnectionConfigBuilder setUseBarrier(Boolean value)
-
addAugmentation
public SwitchConnectionConfigBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig> 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 SwitchConnectionConfigBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>> 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 SwitchConnectionConfig build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<SwitchConnectionConfig>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<SwitchConnectionConfig,IllegalArgumentException>
-
-