Class PortRemovedBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.port.service.rev131107.PortRemovedBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<PortRemoved>
,org.opendaylight.yangtools.concepts.CheckedBuilder<PortRemoved,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class PortRemovedBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<PortRemoved>
Class that buildsPortRemoved
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:
PortRemoved createPortRemoved(int fooXyzzy, int barBaz) { return new PortRemovedBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of PortRemoved, 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:
PortRemoved
,Builder
-
-
Constructor Summary
Constructors Constructor Description PortRemovedBuilder()
PortRemovedBuilder(CommonPort arg)
PortRemovedBuilder(FlowCapablePort arg)
PortRemovedBuilder(FlowPortStatus arg)
PortRemovedBuilder(Queues arg)
PortRemovedBuilder(NodeContextRef arg)
PortRemovedBuilder(NodePort arg)
PortRemovedBuilder(PortRemoved base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PortRemovedBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<PortRemoved> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<PortRemoved>>
E$$augmentation(Class<E$$> augmentationType)
PortRemoved
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.PortFeatures
getAdvertisedFeatures()
PortConfig
getConfiguration()
PortFeatures
getCurrentFeature()
org.opendaylight.yangtools.yang.common.Uint32
getCurrentSpeed()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
getHardwareAddress()
org.opendaylight.yangtools.yang.common.Uint32
getMaximumSpeed()
String
getName()
NodeRef
getNode()
PortFeatures
getPeerFeatures()
PortNumberUni
getPortNumber()
Map<QueueKey,Queue>
getQueue()
PortReason
getReason()
State
getState()
PortFeatures
getSupported()
PortRemovedBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<PortRemoved>> augmentationType)
Remove an augmentation from this builder's product.PortRemovedBuilder
setAdvertisedFeatures(PortFeatures value)
PortRemovedBuilder
setConfiguration(PortConfig value)
PortRemovedBuilder
setCurrentFeature(PortFeatures value)
PortRemovedBuilder
setCurrentSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
PortRemovedBuilder
setHardwareAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
PortRemovedBuilder
setMaximumSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
PortRemovedBuilder
setName(String value)
PortRemovedBuilder
setNode(NodeRef value)
PortRemovedBuilder
setPeerFeatures(PortFeatures value)
PortRemovedBuilder
setPortNumber(PortNumberUni value)
PortRemovedBuilder
setQueue(Map<QueueKey,Queue> values)
PortRemovedBuilder
setReason(PortReason value)
PortRemovedBuilder
setState(State value)
PortRemovedBuilder
setSupported(PortFeatures value)
-
-
-
Constructor Detail
-
PortRemovedBuilder
public PortRemovedBuilder()
-
PortRemovedBuilder
public PortRemovedBuilder(NodePort arg)
-
PortRemovedBuilder
public PortRemovedBuilder(NodeContextRef arg)
-
PortRemovedBuilder
public PortRemovedBuilder(FlowPortStatus arg)
-
PortRemovedBuilder
public PortRemovedBuilder(FlowCapablePort arg)
-
PortRemovedBuilder
public PortRemovedBuilder(CommonPort arg)
-
PortRemovedBuilder
public PortRemovedBuilder(Queues arg)
-
PortRemovedBuilder
public PortRemovedBuilder(PortRemoved 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:- NodeContextRef
- NodePort
- Queues
- FlowCapablePort
- CommonPort
- FlowPortStatus
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
getAdvertisedFeatures
public PortFeatures getAdvertisedFeatures()
-
getConfiguration
public PortConfig getConfiguration()
-
getCurrentFeature
public PortFeatures getCurrentFeature()
-
getCurrentSpeed
public org.opendaylight.yangtools.yang.common.Uint32 getCurrentSpeed()
-
getHardwareAddress
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress getHardwareAddress()
-
getMaximumSpeed
public org.opendaylight.yangtools.yang.common.Uint32 getMaximumSpeed()
-
getName
public String getName()
-
getNode
public NodeRef getNode()
-
getPeerFeatures
public PortFeatures getPeerFeatures()
-
getPortNumber
public PortNumberUni getPortNumber()
-
getReason
public PortReason getReason()
-
getState
public State getState()
-
getSupported
public PortFeatures getSupported()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<PortRemoved>> E$$ augmentation(Class<E$$> augmentationType)
-
setAdvertisedFeatures
public PortRemovedBuilder setAdvertisedFeatures(PortFeatures value)
-
setConfiguration
public PortRemovedBuilder setConfiguration(PortConfig value)
-
setCurrentFeature
public PortRemovedBuilder setCurrentFeature(PortFeatures value)
-
setCurrentSpeed
public PortRemovedBuilder setCurrentSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setHardwareAddress
public PortRemovedBuilder setHardwareAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setMaximumSpeed
public PortRemovedBuilder setMaximumSpeed(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setName
public PortRemovedBuilder setName(String value)
-
setNode
public PortRemovedBuilder setNode(NodeRef value)
-
setPeerFeatures
public PortRemovedBuilder setPeerFeatures(PortFeatures value)
-
setPortNumber
public PortRemovedBuilder setPortNumber(PortNumberUni value)
-
setQueue
public PortRemovedBuilder setQueue(Map<QueueKey,Queue> values)
-
setReason
public PortRemovedBuilder setReason(PortReason value)
-
setState
public PortRemovedBuilder setState(State value)
-
setSupported
public PortRemovedBuilder setSupported(PortFeatures value)
-
addAugmentation
public PortRemovedBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<PortRemoved> 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 PortRemovedBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<PortRemoved>> 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 PortRemoved build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<PortRemoved>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<PortRemoved,IllegalArgumentException>
-
-