Class PortStatusMessageBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortStatusMessageBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<PortStatusMessage>
,org.opendaylight.yangtools.concepts.CheckedBuilder<PortStatusMessage,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
public class PortStatusMessageBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<PortStatusMessage>
Class that buildsPortStatusMessageBuilder
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:
PortStatusMessageBuilder createTarget(int fooXyzzy, int barBaz) { return new PortStatusMessageBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of PortStatusMessageBuilder, 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:
PortStatusMessageBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description PortStatusMessageBuilder()
PortStatusMessageBuilder(OfHeader arg)
PortStatusMessageBuilder(PortGrouping arg)
PortStatusMessageBuilder(PortStatus arg)
PortStatusMessageBuilder(PortStatusMessage base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description PortStatusMessageBuilder
addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage> augmentationValue)
<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage>>
E$$augmentation(Class<E$$> augmentationType)
PortStatusMessage
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.PortFeatures
getAdvertisedFeatures()
PortFeaturesV10
getAdvertisedFeaturesV10()
PortConfig
getConfig()
PortConfigV10
getConfigV10()
PortFeatures
getCurrentFeatures()
PortFeaturesV10
getCurrentFeaturesV10()
org.opendaylight.yangtools.yang.common.Uint32
getCurrSpeed()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
getHwAddr()
org.opendaylight.yangtools.yang.common.Uint32
getMaxSpeed()
String
getName()
PortFeatures
getPeerFeatures()
PortFeaturesV10
getPeerFeaturesV10()
org.opendaylight.yangtools.yang.common.Uint32
getPortNo()
PortReason
getReason()
PortState
getState()
PortStateV10
getStateV10()
PortFeatures
getSupportedFeatures()
PortFeaturesV10
getSupportedFeaturesV10()
org.opendaylight.yangtools.yang.common.Uint8
getVersion()
org.opendaylight.yangtools.yang.common.Uint32
getXid()
PortStatusMessageBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage>> augmentationType)
PortStatusMessageBuilder
setAdvertisedFeatures(PortFeatures value)
PortStatusMessageBuilder
setAdvertisedFeaturesV10(PortFeaturesV10 value)
PortStatusMessageBuilder
setConfig(PortConfig value)
PortStatusMessageBuilder
setConfigV10(PortConfigV10 value)
PortStatusMessageBuilder
setCurrentFeatures(PortFeatures value)
PortStatusMessageBuilder
setCurrentFeaturesV10(PortFeaturesV10 value)
PortStatusMessageBuilder
setCurrSpeed(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setCurrSpeed(Uint32)} instead.PortStatusMessageBuilder
setCurrSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
PortStatusMessageBuilder
setHwAddr(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
PortStatusMessageBuilder
setMaxSpeed(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setMaxSpeed(Uint32)} instead.PortStatusMessageBuilder
setMaxSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
PortStatusMessageBuilder
setName(String value)
PortStatusMessageBuilder
setPeerFeatures(PortFeatures value)
PortStatusMessageBuilder
setPeerFeaturesV10(PortFeaturesV10 value)
PortStatusMessageBuilder
setPortNo(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setPortNo(Uint32)} instead.PortStatusMessageBuilder
setPortNo(org.opendaylight.yangtools.yang.common.Uint32 value)
PortStatusMessageBuilder
setReason(PortReason value)
PortStatusMessageBuilder
setState(PortState value)
PortStatusMessageBuilder
setStateV10(PortStateV10 value)
PortStatusMessageBuilder
setSupportedFeatures(PortFeatures value)
PortStatusMessageBuilder
setSupportedFeaturesV10(PortFeaturesV10 value)
PortStatusMessageBuilder
setVersion(Short value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setVersion(Uint8)} instead.PortStatusMessageBuilder
setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
PortStatusMessageBuilder
setXid(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setXid(Uint32)} instead.PortStatusMessageBuilder
setXid(org.opendaylight.yangtools.yang.common.Uint32 value)
-
-
-
Constructor Detail
-
PortStatusMessageBuilder
public PortStatusMessageBuilder()
-
PortStatusMessageBuilder
public PortStatusMessageBuilder(PortStatus arg)
-
PortStatusMessageBuilder
public PortStatusMessageBuilder(OfHeader arg)
-
PortStatusMessageBuilder
public PortStatusMessageBuilder(PortGrouping arg)
-
PortStatusMessageBuilder
public PortStatusMessageBuilder(PortStatusMessage 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.openflow.protocol.rev130731.OfHeader
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortGrouping
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortStatus
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types
-
getAdvertisedFeatures
public PortFeatures getAdvertisedFeatures()
-
getAdvertisedFeaturesV10
public PortFeaturesV10 getAdvertisedFeaturesV10()
-
getConfig
public PortConfig getConfig()
-
getConfigV10
public PortConfigV10 getConfigV10()
-
getCurrSpeed
public org.opendaylight.yangtools.yang.common.Uint32 getCurrSpeed()
-
getCurrentFeatures
public PortFeatures getCurrentFeatures()
-
getCurrentFeaturesV10
public PortFeaturesV10 getCurrentFeaturesV10()
-
getHwAddr
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress getHwAddr()
-
getMaxSpeed
public org.opendaylight.yangtools.yang.common.Uint32 getMaxSpeed()
-
getName
public String getName()
-
getPeerFeatures
public PortFeatures getPeerFeatures()
-
getPeerFeaturesV10
public PortFeaturesV10 getPeerFeaturesV10()
-
getPortNo
public org.opendaylight.yangtools.yang.common.Uint32 getPortNo()
-
getReason
public PortReason getReason()
-
getState
public PortState getState()
-
getStateV10
public PortStateV10 getStateV10()
-
getSupportedFeatures
public PortFeatures getSupportedFeatures()
-
getSupportedFeaturesV10
public PortFeaturesV10 getSupportedFeaturesV10()
-
getVersion
public org.opendaylight.yangtools.yang.common.Uint8 getVersion()
-
getXid
public org.opendaylight.yangtools.yang.common.Uint32 getXid()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage>> E$$ augmentation(Class<E$$> augmentationType)
-
setAdvertisedFeatures
public PortStatusMessageBuilder setAdvertisedFeatures(PortFeatures value)
-
setAdvertisedFeaturesV10
public PortStatusMessageBuilder setAdvertisedFeaturesV10(PortFeaturesV10 value)
-
setConfig
public PortStatusMessageBuilder setConfig(PortConfig value)
-
setConfigV10
public PortStatusMessageBuilder setConfigV10(PortConfigV10 value)
-
setCurrSpeed
public PortStatusMessageBuilder setCurrSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setCurrSpeed
@Deprecated(forRemoval=true) public PortStatusMessageBuilder setCurrSpeed(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setCurrSpeed(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setCurrentFeatures
public PortStatusMessageBuilder setCurrentFeatures(PortFeatures value)
-
setCurrentFeaturesV10
public PortStatusMessageBuilder setCurrentFeaturesV10(PortFeaturesV10 value)
-
setHwAddr
public PortStatusMessageBuilder setHwAddr(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setMaxSpeed
public PortStatusMessageBuilder setMaxSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setMaxSpeed
@Deprecated(forRemoval=true) public PortStatusMessageBuilder setMaxSpeed(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setMaxSpeed(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setName
public PortStatusMessageBuilder setName(String value)
-
setPeerFeatures
public PortStatusMessageBuilder setPeerFeatures(PortFeatures value)
-
setPeerFeaturesV10
public PortStatusMessageBuilder setPeerFeaturesV10(PortFeaturesV10 value)
-
setPortNo
public PortStatusMessageBuilder setPortNo(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setPortNo
@Deprecated(forRemoval=true) public PortStatusMessageBuilder setPortNo(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setPortNo(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setReason
public PortStatusMessageBuilder setReason(PortReason value)
-
setState
public PortStatusMessageBuilder setState(PortState value)
-
setStateV10
public PortStatusMessageBuilder setStateV10(PortStateV10 value)
-
setSupportedFeatures
public PortStatusMessageBuilder setSupportedFeatures(PortFeatures value)
-
setSupportedFeaturesV10
public PortStatusMessageBuilder setSupportedFeaturesV10(PortFeaturesV10 value)
-
setVersion
public PortStatusMessageBuilder setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setVersion
@Deprecated(forRemoval=true) public PortStatusMessageBuilder setVersion(Short value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setVersion(Uint8)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setXid
public PortStatusMessageBuilder setXid(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setXid
@Deprecated(forRemoval=true) public PortStatusMessageBuilder setXid(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setXid(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
addAugmentation
public PortStatusMessageBuilder addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage> augmentationValue)
-
removeAugmentation
public PortStatusMessageBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage>> augmentationType)
-
build
public PortStatusMessage build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<PortStatusMessage>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<PortStatusMessage,IllegalArgumentException>
-
-