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>
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(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig> augmentationValue)
<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()
String
getInstanceName()
org.opendaylight.yangtools.yang.common.Uint16
getPort()
org.opendaylight.yangtools.yang.common.Uint32
getSwitchIdleTimeout()
Threads
getThreads()
Tls
getTls()
TransportProtocol
getTransportProtocol()
Boolean
isGroupAddModEnabled()
Boolean
isUseBarrier()
SwitchConnectionConfigKey
key()
SwitchConnectionConfigBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>> augmentationType)
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.Use {#link setChannelOutboundQueueSize(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.Use {#link setPort(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.Use {#link setSwitchIdleTimeout(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()
-
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()
-
isGroupAddModEnabled
public Boolean isGroupAddModEnabled()
-
isUseBarrier
public Boolean isUseBarrier()
-
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.Use {#link setChannelOutboundQueueSize(Uint16)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
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.Use {#link setPort(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.Use {#link setSwitchIdleTimeout(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)
-
setGroupAddModEnabled
public SwitchConnectionConfigBuilder setGroupAddModEnabled(Boolean value)
-
setUseBarrier
public SwitchConnectionConfigBuilder setUseBarrier(Boolean value)
-
addAugmentation
public SwitchConnectionConfigBuilder addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig> augmentationValue)
-
removeAugmentation
public SwitchConnectionConfigBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<SwitchConnectionConfig>> augmentationType)
-
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>
-
-