Class EdgeAttributesBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.graph.rev191125.edge.EdgeAttributesBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<EdgeAttributes>
,org.opendaylight.yangtools.concepts.CheckedBuilder<EdgeAttributes,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class EdgeAttributesBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<EdgeAttributes>
Class that buildsEdgeAttributes
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:
EdgeAttributes createEdgeAttributes(int fooXyzzy, int barBaz) { return new EdgeAttributesBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of EdgeAttributes, 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:
EdgeAttributes
,Builder
-
-
Constructor Summary
Constructors Constructor Description EdgeAttributesBuilder()
EdgeAttributesBuilder(EdgeAttributes base)
EdgeAttributesBuilder(EdgeAttributes arg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EdgeAttributesBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<EdgeAttributes> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<EdgeAttributes>>
E$$augmentation(Class<E$$> augmentationType)
EdgeAttributes
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.org.opendaylight.yangtools.yang.common.Uint32
getAdjSid()
org.opendaylight.yangtools.yang.common.Uint32
getAdminGroup()
DecimalBandwidth
getAvailableBandwidth()
org.opendaylight.yangtools.yang.common.Uint32
getBackupAdjSid()
Delay
getDelay()
Delay
getJitter()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress
getLocalAddress()
org.opendaylight.yangtools.yang.common.Uint32
getLocalIdentifier()
Loss
getLoss()
DecimalBandwidth
getMaxLinkBandwidth()
DecimalBandwidth
getMaxResvLinkBandwidth()
org.opendaylight.yangtools.yang.common.Uint32
getMetric()
MinMaxDelay
getMinMaxDelay()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress
getRemoteAddress()
org.opendaylight.yangtools.yang.common.Uint32
getRemoteIdentifier()
DecimalBandwidth
getResidualBandwidth()
List<org.opendaylight.yangtools.yang.common.Uint32>
getSrlgs()
org.opendaylight.yangtools.yang.common.Uint32
getTeMetric()
List<UnreservedBandwidth>
getUnreservedBandwidth()
DecimalBandwidth
getUtilizedBandwidth()
EdgeAttributesBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<EdgeAttributes>> augmentationType)
Remove an augmentation from this builder's product.EdgeAttributesBuilder
setAdjSid(org.opendaylight.yangtools.yang.common.Uint32 value)
EdgeAttributesBuilder
setAdminGroup(org.opendaylight.yangtools.yang.common.Uint32 value)
EdgeAttributesBuilder
setAvailableBandwidth(DecimalBandwidth value)
EdgeAttributesBuilder
setBackupAdjSid(org.opendaylight.yangtools.yang.common.Uint32 value)
EdgeAttributesBuilder
setDelay(Delay value)
EdgeAttributesBuilder
setJitter(Delay value)
EdgeAttributesBuilder
setLocalAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress value)
EdgeAttributesBuilder
setLocalIdentifier(org.opendaylight.yangtools.yang.common.Uint32 value)
EdgeAttributesBuilder
setLoss(Loss value)
EdgeAttributesBuilder
setMaxLinkBandwidth(DecimalBandwidth value)
EdgeAttributesBuilder
setMaxResvLinkBandwidth(DecimalBandwidth value)
EdgeAttributesBuilder
setMetric(org.opendaylight.yangtools.yang.common.Uint32 value)
EdgeAttributesBuilder
setMinMaxDelay(MinMaxDelay value)
EdgeAttributesBuilder
setRemoteAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress value)
EdgeAttributesBuilder
setRemoteIdentifier(org.opendaylight.yangtools.yang.common.Uint32 value)
EdgeAttributesBuilder
setResidualBandwidth(DecimalBandwidth value)
EdgeAttributesBuilder
setSrlgs(List<org.opendaylight.yangtools.yang.common.Uint32> values)
EdgeAttributesBuilder
setTeMetric(org.opendaylight.yangtools.yang.common.Uint32 value)
EdgeAttributesBuilder
setUnreservedBandwidth(List<UnreservedBandwidth> values)
EdgeAttributesBuilder
setUtilizedBandwidth(DecimalBandwidth value)
-
-
-
Constructor Detail
-
EdgeAttributesBuilder
public EdgeAttributesBuilder()
-
EdgeAttributesBuilder
public EdgeAttributesBuilder(EdgeAttributes arg)
-
EdgeAttributesBuilder
public EdgeAttributesBuilder(EdgeAttributes 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.params.xml.ns.yang.graph.rev191125.EdgeAttributes
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
getAdjSid
public org.opendaylight.yangtools.yang.common.Uint32 getAdjSid()
-
getAdminGroup
public org.opendaylight.yangtools.yang.common.Uint32 getAdminGroup()
-
getAvailableBandwidth
public DecimalBandwidth getAvailableBandwidth()
-
getBackupAdjSid
public org.opendaylight.yangtools.yang.common.Uint32 getBackupAdjSid()
-
getDelay
public Delay getDelay()
-
getJitter
public Delay getJitter()
-
getLocalAddress
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress getLocalAddress()
-
getLocalIdentifier
public org.opendaylight.yangtools.yang.common.Uint32 getLocalIdentifier()
-
getLoss
public Loss getLoss()
-
getMaxLinkBandwidth
public DecimalBandwidth getMaxLinkBandwidth()
-
getMaxResvLinkBandwidth
public DecimalBandwidth getMaxResvLinkBandwidth()
-
getMetric
public org.opendaylight.yangtools.yang.common.Uint32 getMetric()
-
getMinMaxDelay
public MinMaxDelay getMinMaxDelay()
-
getRemoteAddress
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress getRemoteAddress()
-
getRemoteIdentifier
public org.opendaylight.yangtools.yang.common.Uint32 getRemoteIdentifier()
-
getResidualBandwidth
public DecimalBandwidth getResidualBandwidth()
-
getSrlgs
public List<org.opendaylight.yangtools.yang.common.Uint32> getSrlgs()
-
getTeMetric
public org.opendaylight.yangtools.yang.common.Uint32 getTeMetric()
-
getUnreservedBandwidth
public List<UnreservedBandwidth> getUnreservedBandwidth()
-
getUtilizedBandwidth
public DecimalBandwidth getUtilizedBandwidth()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<EdgeAttributes>> E$$ augmentation(Class<E$$> augmentationType)
-
setAdjSid
public EdgeAttributesBuilder setAdjSid(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setAdminGroup
public EdgeAttributesBuilder setAdminGroup(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setAvailableBandwidth
public EdgeAttributesBuilder setAvailableBandwidth(DecimalBandwidth value)
-
setBackupAdjSid
public EdgeAttributesBuilder setBackupAdjSid(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setDelay
public EdgeAttributesBuilder setDelay(Delay value)
-
setJitter
public EdgeAttributesBuilder setJitter(Delay value)
-
setLocalAddress
public EdgeAttributesBuilder setLocalAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress value)
-
setLocalIdentifier
public EdgeAttributesBuilder setLocalIdentifier(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setLoss
public EdgeAttributesBuilder setLoss(Loss value)
-
setMaxLinkBandwidth
public EdgeAttributesBuilder setMaxLinkBandwidth(DecimalBandwidth value)
-
setMaxResvLinkBandwidth
public EdgeAttributesBuilder setMaxResvLinkBandwidth(DecimalBandwidth value)
-
setMetric
public EdgeAttributesBuilder setMetric(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setMinMaxDelay
public EdgeAttributesBuilder setMinMaxDelay(MinMaxDelay value)
-
setRemoteAddress
public EdgeAttributesBuilder setRemoteAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress value)
-
setRemoteIdentifier
public EdgeAttributesBuilder setRemoteIdentifier(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setResidualBandwidth
public EdgeAttributesBuilder setResidualBandwidth(DecimalBandwidth value)
-
setSrlgs
public EdgeAttributesBuilder setSrlgs(List<org.opendaylight.yangtools.yang.common.Uint32> values)
-
setTeMetric
public EdgeAttributesBuilder setTeMetric(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setUnreservedBandwidth
public EdgeAttributesBuilder setUnreservedBandwidth(List<UnreservedBandwidth> values)
-
setUtilizedBandwidth
public EdgeAttributesBuilder setUtilizedBandwidth(DecimalBandwidth value)
-
addAugmentation
public EdgeAttributesBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<EdgeAttributes> 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 EdgeAttributesBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<EdgeAttributes>> 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 EdgeAttributes build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<EdgeAttributes>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<EdgeAttributes,IllegalArgumentException>
-
-