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>
@Generated("mdsal-binding-generator") public class PortStatusMessageBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<PortStatusMessage>
Class that buildsPortStatusMessage
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:
PortStatusMessage createPortStatusMessage(int fooXyzzy, int barBaz) { return new PortStatusMessageBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of PortStatusMessage, 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 opportunities, 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:
PortStatusMessage
,Builder
-
-
Constructor Summary
Constructors Constructor Description PortStatusMessageBuilder()
PortStatusMessageBuilder(OfHeader arg)
PortStatusMessageBuilder(PortGrouping arg)
PortStatusMessageBuilder(PortStatus arg)
PortStatusMessageBuilder(PortStatusMessage base)
-
Method Summary
-
-
-
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:- OfHeader
- PortGrouping
- PortStatus
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
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)
-
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)
-
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)
-
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)
-
setXid
public PortStatusMessageBuilder setXid(org.opendaylight.yangtools.yang.common.Uint32 value)
-
addAugmentation
public PortStatusMessageBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage> 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 PortStatusMessageBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<PortStatusMessage>> 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 PortStatusMessage build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<PortStatusMessage>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<PortStatusMessage,IllegalArgumentException>
-
-