Class LogicalBindingStatsBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.LogicalBindingStatsBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<LogicalBindingStats>
,org.opendaylight.yangtools.concepts.CheckedBuilder<LogicalBindingStats,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
public class LogicalBindingStatsBuilder extends Object implements org.opendaylight.yangtools.concepts.Builder<LogicalBindingStats>
Class that buildsLogicalBindingStatsBuilder
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:
LogicalBindingStatsBuilder createTarget(int fooXyzzy, int barBaz) { return new LogicalBindingStatsBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of LogicalBindingStatsBuilder, 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:
LogicalBindingStatsBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description LogicalBindingStatsBuilder()
LogicalBindingStatsBuilder(LogicalBindingStats base)
LogicalBindingStatsBuilder(HwvtepLogicalBindingStatsAttributes arg)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description LogicalBindingStatsBuilder
addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats> augmentationValue)
<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats>>
E$$augmentation(Class<E$$> augmentationType)
LogicalBindingStats
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.org.opendaylight.yangtools.yang.common.Uint32
getBytesFromLocal()
org.opendaylight.yangtools.yang.common.Uint32
getBytesToLocal()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getLogicalBindingStatsUuid()
org.opendaylight.yangtools.yang.common.Uint32
getPacketsFromLocal()
org.opendaylight.yangtools.yang.common.Uint32
getPacketsToLocal()
LogicalBindingStatsKey
key()
LogicalBindingStatsBuilder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats>> augmentationType)
LogicalBindingStatsBuilder
setBytesFromLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setBytesFromLocal(Uint32)} instead.LogicalBindingStatsBuilder
setBytesFromLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
LogicalBindingStatsBuilder
setBytesToLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setBytesToLocal(Uint32)} instead.LogicalBindingStatsBuilder
setBytesToLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
LogicalBindingStatsBuilder
setLogicalBindingStatsUuid(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
LogicalBindingStatsBuilder
setPacketsFromLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setPacketsFromLocal(Uint32)} instead.LogicalBindingStatsBuilder
setPacketsFromLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
LogicalBindingStatsBuilder
setPacketsToLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setPacketsToLocal(Uint32)} instead.LogicalBindingStatsBuilder
setPacketsToLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
LogicalBindingStatsBuilder
withKey(LogicalBindingStatsKey key)
-
-
-
Constructor Detail
-
LogicalBindingStatsBuilder
public LogicalBindingStatsBuilder()
-
LogicalBindingStatsBuilder
public LogicalBindingStatsBuilder(HwvtepLogicalBindingStatsAttributes arg)
-
LogicalBindingStatsBuilder
public LogicalBindingStatsBuilder(LogicalBindingStats 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.ovsdb.hwvtep.rev150901.HwvtepLogicalBindingStatsAttributes
- Parameters:
arg
- grouping object- Throws:
IllegalArgumentException
- if given argument is none of valid types
-
key
public LogicalBindingStatsKey key()
-
getBytesFromLocal
public org.opendaylight.yangtools.yang.common.Uint32 getBytesFromLocal()
-
getBytesToLocal
public org.opendaylight.yangtools.yang.common.Uint32 getBytesToLocal()
-
getLogicalBindingStatsUuid
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getLogicalBindingStatsUuid()
-
getPacketsFromLocal
public org.opendaylight.yangtools.yang.common.Uint32 getPacketsFromLocal()
-
getPacketsToLocal
public org.opendaylight.yangtools.yang.common.Uint32 getPacketsToLocal()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats>> E$$ augmentation(Class<E$$> augmentationType)
-
withKey
public LogicalBindingStatsBuilder withKey(LogicalBindingStatsKey key)
-
setBytesFromLocal
public LogicalBindingStatsBuilder setBytesFromLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setBytesFromLocal
@Deprecated(forRemoval=true) public LogicalBindingStatsBuilder setBytesFromLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setBytesFromLocal(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setBytesToLocal
public LogicalBindingStatsBuilder setBytesToLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setBytesToLocal
@Deprecated(forRemoval=true) public LogicalBindingStatsBuilder setBytesToLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setBytesToLocal(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setLogicalBindingStatsUuid
public LogicalBindingStatsBuilder setLogicalBindingStatsUuid(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid value)
-
setPacketsFromLocal
public LogicalBindingStatsBuilder setPacketsFromLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setPacketsFromLocal
@Deprecated(forRemoval=true) public LogicalBindingStatsBuilder setPacketsFromLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setPacketsFromLocal(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setPacketsToLocal
public LogicalBindingStatsBuilder setPacketsToLocal(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setPacketsToLocal
@Deprecated(forRemoval=true) public LogicalBindingStatsBuilder setPacketsToLocal(Long value)
Deprecated, for removal: This API element is subject to removal in a future version.Use {#link setPacketsToLocal(Uint32)} instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
addAugmentation
public LogicalBindingStatsBuilder addAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats>> augmentationType, org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats> augmentationValue)
-
removeAugmentation
public LogicalBindingStatsBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<LogicalBindingStats>> augmentationType)
-
build
public LogicalBindingStats build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<LogicalBindingStats>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<LogicalBindingStats,IllegalArgumentException>
-
-