Class MatchV10Builder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.v10.grouping.MatchV10Builder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<MatchV10>
,org.opendaylight.yangtools.concepts.CheckedBuilder<MatchV10,IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class MatchV10Builder extends Object implements org.opendaylight.yangtools.concepts.Builder<MatchV10>
Class that buildsMatchV10
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:
MatchV10 createMatchV10(int fooXyzzy, int barBaz) { return new MatchV10Builder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of MatchV10, 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:
MatchV10
,Builder
-
-
Constructor Summary
Constructors Constructor Description MatchV10Builder()
MatchV10Builder(MatchV10 base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MatchV10Builder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<MatchV10> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MatchV10>>
E$$augmentation(Class<E$$> augmentationType)
MatchV10
build()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
getDlDst()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
getDlSrc()
org.opendaylight.yangtools.yang.common.Uint16
getDlType()
org.opendaylight.yangtools.yang.common.Uint16
getDlVlan()
org.opendaylight.yangtools.yang.common.Uint8
getDlVlanPcp()
org.opendaylight.yangtools.yang.common.Uint16
getInPort()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address
getNwDst()
org.opendaylight.yangtools.yang.common.Uint8
getNwDstMask()
org.opendaylight.yangtools.yang.common.Uint8
getNwProto()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address
getNwSrc()
org.opendaylight.yangtools.yang.common.Uint8
getNwSrcMask()
org.opendaylight.yangtools.yang.common.Uint8
getNwTos()
org.opendaylight.yangtools.yang.common.Uint16
getTpDst()
org.opendaylight.yangtools.yang.common.Uint16
getTpSrc()
FlowWildcardsV10
getWildcards()
MatchV10Builder
removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MatchV10>> augmentationType)
Remove an augmentation from this builder's product.MatchV10Builder
setDlDst(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
MatchV10Builder
setDlSrc(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
MatchV10Builder
setDlType(org.opendaylight.yangtools.yang.common.Uint16 value)
MatchV10Builder
setDlVlan(org.opendaylight.yangtools.yang.common.Uint16 value)
MatchV10Builder
setDlVlanPcp(org.opendaylight.yangtools.yang.common.Uint8 value)
MatchV10Builder
setInPort(org.opendaylight.yangtools.yang.common.Uint16 value)
MatchV10Builder
setNwDst(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address value)
MatchV10Builder
setNwDstMask(org.opendaylight.yangtools.yang.common.Uint8 value)
MatchV10Builder
setNwProto(org.opendaylight.yangtools.yang.common.Uint8 value)
MatchV10Builder
setNwSrc(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address value)
MatchV10Builder
setNwSrcMask(org.opendaylight.yangtools.yang.common.Uint8 value)
MatchV10Builder
setNwTos(org.opendaylight.yangtools.yang.common.Uint8 value)
MatchV10Builder
setTpDst(org.opendaylight.yangtools.yang.common.Uint16 value)
MatchV10Builder
setTpSrc(org.opendaylight.yangtools.yang.common.Uint16 value)
MatchV10Builder
setWildcards(FlowWildcardsV10 value)
-
-
-
Constructor Detail
-
MatchV10Builder
public MatchV10Builder()
-
MatchV10Builder
public MatchV10Builder(MatchV10 base)
-
-
Method Detail
-
getDlDst
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress getDlDst()
-
getDlSrc
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress getDlSrc()
-
getDlType
public org.opendaylight.yangtools.yang.common.Uint16 getDlType()
-
getDlVlan
public org.opendaylight.yangtools.yang.common.Uint16 getDlVlan()
-
getDlVlanPcp
public org.opendaylight.yangtools.yang.common.Uint8 getDlVlanPcp()
-
getInPort
public org.opendaylight.yangtools.yang.common.Uint16 getInPort()
-
getNwDst
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address getNwDst()
-
getNwDstMask
public org.opendaylight.yangtools.yang.common.Uint8 getNwDstMask()
-
getNwProto
public org.opendaylight.yangtools.yang.common.Uint8 getNwProto()
-
getNwSrc
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address getNwSrc()
-
getNwSrcMask
public org.opendaylight.yangtools.yang.common.Uint8 getNwSrcMask()
-
getNwTos
public org.opendaylight.yangtools.yang.common.Uint8 getNwTos()
-
getTpDst
public org.opendaylight.yangtools.yang.common.Uint16 getTpDst()
-
getTpSrc
public org.opendaylight.yangtools.yang.common.Uint16 getTpSrc()
-
getWildcards
public FlowWildcardsV10 getWildcards()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<MatchV10>> E$$ augmentation(Class<E$$> augmentationType)
-
setDlDst
public MatchV10Builder setDlDst(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setDlSrc
public MatchV10Builder setDlSrc(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setDlType
public MatchV10Builder setDlType(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setDlVlan
public MatchV10Builder setDlVlan(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setDlVlanPcp
public MatchV10Builder setDlVlanPcp(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setInPort
public MatchV10Builder setInPort(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setNwDst
public MatchV10Builder setNwDst(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address value)
-
setNwDstMask
public MatchV10Builder setNwDstMask(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setNwProto
public MatchV10Builder setNwProto(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setNwSrc
public MatchV10Builder setNwSrc(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address value)
-
setNwSrcMask
public MatchV10Builder setNwSrcMask(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setNwTos
public MatchV10Builder setNwTos(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setTpDst
public MatchV10Builder setTpDst(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setTpSrc
public MatchV10Builder setTpSrc(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setWildcards
public MatchV10Builder setWildcards(FlowWildcardsV10 value)
-
addAugmentation
public MatchV10Builder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<MatchV10> 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 MatchV10Builder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<MatchV10>> 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 MatchV10 build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<MatchV10>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<MatchV10,IllegalArgumentException>
-
-