Class NodeExperimenterErrorNotificationBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.NodeExperimenterErrorNotificationBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<NodeExperimenterErrorNotification>
,org.opendaylight.yangtools.concepts.CheckedBuilder<NodeExperimenterErrorNotification,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
public class NodeExperimenterErrorNotificationBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<NodeExperimenterErrorNotification>
Class that buildsNodeExperimenterErrorNotificationBuilder
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:
NodeExperimenterErrorNotificationBuilder createTarget(int fooXyzzy, int barBaz) { return new NodeExperimenterErrorNotificationBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of NodeExperimenterErrorNotificationBuilder, 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:
NodeExperimenterErrorNotificationBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description NodeExperimenterErrorNotificationBuilder()
NodeExperimenterErrorNotificationBuilder(ExperimenterErrorMessage arg)
NodeExperimenterErrorNotificationBuilder(NodeExperimenterErrorNotification base)
NodeExperimenterErrorNotificationBuilder(TransactionAware arg)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description NodeExperimenterErrorNotificationBuilder
addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification> augmentationValue)
<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification>>
E$$augmentation(Class<E$$> augmentationType)
NodeExperimenterErrorNotification
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.String
getData()
org.opendaylight.yangtools.yang.common.Uint32
getExperimenterId()
org.opendaylight.yangtools.yang.common.Uint16
getExpType()
TransactionId
getTransactionId()
ErrorType
getType()
NodeExperimenterErrorNotificationBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification>> augmentationType)
NodeExperimenterErrorNotificationBuilder
setData(String value)
NodeExperimenterErrorNotificationBuilder
setExperimenterId(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setExperimenterId(Uint32)} instead.NodeExperimenterErrorNotificationBuilder
setExperimenterId(org.opendaylight.yangtools.yang.common.Uint32 value)
NodeExperimenterErrorNotificationBuilder
setExpType(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setExpType(Uint16)} instead.NodeExperimenterErrorNotificationBuilder
setExpType(org.opendaylight.yangtools.yang.common.Uint16 value)
NodeExperimenterErrorNotificationBuilder
setTransactionId(TransactionId value)
NodeExperimenterErrorNotificationBuilder
setType(ErrorType value)
-
-
-
Constructor Detail
-
NodeExperimenterErrorNotificationBuilder
public NodeExperimenterErrorNotificationBuilder()
-
NodeExperimenterErrorNotificationBuilder
public NodeExperimenterErrorNotificationBuilder(ExperimenterErrorMessage arg)
-
NodeExperimenterErrorNotificationBuilder
public NodeExperimenterErrorNotificationBuilder(TransactionAware arg)
-
NodeExperimenterErrorNotificationBuilder
public NodeExperimenterErrorNotificationBuilder(NodeExperimenterErrorNotification 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.flow.transaction.rev150304.TransactionAware
- org.opendaylight.yang.gen.v1.urn.opendaylight.flow.errors.rev131116.ExperimenterErrorMessage
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types
-
getData
public String getData()
-
getExpType
public org.opendaylight.yangtools.yang.common.Uint16 getExpType()
-
getExperimenterId
public org.opendaylight.yangtools.yang.common.Uint32 getExperimenterId()
-
getTransactionId
public TransactionId getTransactionId()
-
getType
public ErrorType getType()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification>> E$$ augmentation(Class<E$$> augmentationType)
-
setData
public NodeExperimenterErrorNotificationBuilder setData(String value)
-
setExpType
public NodeExperimenterErrorNotificationBuilder setExpType(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setExpType
@Deprecated(forRemoval=true) public NodeExperimenterErrorNotificationBuilder setExpType(Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setExpType(Uint16)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setExperimenterId
public NodeExperimenterErrorNotificationBuilder setExperimenterId(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setExperimenterId
@Deprecated(forRemoval=true) public NodeExperimenterErrorNotificationBuilder setExperimenterId(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setExperimenterId(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setTransactionId
public NodeExperimenterErrorNotificationBuilder setTransactionId(TransactionId value)
-
setType
public NodeExperimenterErrorNotificationBuilder setType(ErrorType value)
-
addAugmentation
public NodeExperimenterErrorNotificationBuilder addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification> augmentationValue)
-
removeAugmentation
public NodeExperimenterErrorNotificationBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<NodeExperimenterErrorNotification>> augmentationType)
-
build
public NodeExperimenterErrorNotification build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<NodeExperimenterErrorNotification>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<NodeExperimenterErrorNotification,IllegalArgumentException>
-
-