Class RouterSolicitationPacketBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.RouterSolicitationPacketBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<RouterSolicitationPacket>
,org.opendaylight.yangtools.concepts.CheckedBuilder<RouterSolicitationPacket,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class RouterSolicitationPacketBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<RouterSolicitationPacket>
Class that buildsRouterSolicitationPacketBuilder
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:
RouterSolicitationPacketBuilder createTarget(int fooXyzzy, int barBaz) { return new RouterSolicitationPacketBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of RouterSolicitationPacketBuilder, 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:
RouterSolicitationPacketBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description RouterSolicitationPacketBuilder()
RouterSolicitationPacketBuilder(EthernetHeader arg)
RouterSolicitationPacketBuilder(Icmp6Header arg)
RouterSolicitationPacketBuilder(Ipv6Header arg)
RouterSolicitationPacketBuilder(RouterSolicitationPacket base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description RouterSolicitationPacketBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<RouterSolicitationPacket> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterSolicitationPacket>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
RouterSolicitationPacket
build()
void
fieldsFrom(org.opendaylight.yangtools.yang.binding.DataObject arg)
Set fields from given grouping argument.org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address
getDestinationIpv6()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
getDestinationMac()
org.opendaylight.yangtools.yang.common.Uint16
getEthertype()
org.opendaylight.yangtools.yang.common.Uint32
getFlowLabel()
org.opendaylight.yangtools.yang.common.Uint8
getHopLimit()
org.opendaylight.yangtools.yang.common.Uint16
getIcmp6Chksum()
org.opendaylight.yangtools.yang.common.Uint8
getIcmp6Code()
org.opendaylight.yangtools.yang.common.Uint8
getIcmp6Type()
org.opendaylight.yangtools.yang.common.Uint16
getIpv6Length()
org.opendaylight.yangtools.yang.common.Uint8
getNextHeader()
org.opendaylight.yangtools.yang.common.Uint8
getOptionType()
org.opendaylight.yangtools.yang.common.Uint32
getReserved()
org.opendaylight.yangtools.yang.common.Uint8
getSourceAddrLength()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address
getSourceIpv6()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
getSourceLlAddress()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
getSourceMac()
org.opendaylight.yangtools.yang.common.Uint8
getVersion()
RouterSolicitationPacketBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterSolicitationPacket>> augmentationType)
Remove an augmentation from this builder's product.RouterSolicitationPacketBuilder
setDestinationIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
RouterSolicitationPacketBuilder
setDestinationMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
RouterSolicitationPacketBuilder
setEthertype(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetEthertype(Uint16)
instead.RouterSolicitationPacketBuilder
setEthertype(org.opendaylight.yangtools.yang.common.Uint16 value)
RouterSolicitationPacketBuilder
setFlowLabel(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetFlowLabel(Uint32)
instead.RouterSolicitationPacketBuilder
setFlowLabel(org.opendaylight.yangtools.yang.common.Uint32 value)
RouterSolicitationPacketBuilder
setHopLimit(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetHopLimit(Uint8)
instead.RouterSolicitationPacketBuilder
setHopLimit(org.opendaylight.yangtools.yang.common.Uint8 value)
RouterSolicitationPacketBuilder
setIcmp6Chksum(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Chksum(Uint16)
instead.RouterSolicitationPacketBuilder
setIcmp6Chksum(org.opendaylight.yangtools.yang.common.Uint16 value)
RouterSolicitationPacketBuilder
setIcmp6Code(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Code(Uint8)
instead.RouterSolicitationPacketBuilder
setIcmp6Code(org.opendaylight.yangtools.yang.common.Uint8 value)
RouterSolicitationPacketBuilder
setIcmp6Type(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Type(Uint8)
instead.RouterSolicitationPacketBuilder
setIcmp6Type(org.opendaylight.yangtools.yang.common.Uint8 value)
RouterSolicitationPacketBuilder
setIpv6Length(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIpv6Length(Uint16)
instead.RouterSolicitationPacketBuilder
setIpv6Length(org.opendaylight.yangtools.yang.common.Uint16 value)
RouterSolicitationPacketBuilder
setNextHeader(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetNextHeader(Uint8)
instead.RouterSolicitationPacketBuilder
setNextHeader(org.opendaylight.yangtools.yang.common.Uint8 value)
RouterSolicitationPacketBuilder
setOptionType(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetOptionType(Uint8)
instead.RouterSolicitationPacketBuilder
setOptionType(org.opendaylight.yangtools.yang.common.Uint8 value)
RouterSolicitationPacketBuilder
setReserved(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetReserved(Uint32)
instead.RouterSolicitationPacketBuilder
setReserved(org.opendaylight.yangtools.yang.common.Uint32 value)
RouterSolicitationPacketBuilder
setSourceAddrLength(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetSourceAddrLength(Uint8)
instead.RouterSolicitationPacketBuilder
setSourceAddrLength(org.opendaylight.yangtools.yang.common.Uint8 value)
RouterSolicitationPacketBuilder
setSourceIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
RouterSolicitationPacketBuilder
setSourceLlAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
RouterSolicitationPacketBuilder
setSourceMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
RouterSolicitationPacketBuilder
setVersion(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetVersion(Uint8)
instead.RouterSolicitationPacketBuilder
setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
-
-
-
Constructor Detail
-
RouterSolicitationPacketBuilder
public RouterSolicitationPacketBuilder()
-
RouterSolicitationPacketBuilder
public RouterSolicitationPacketBuilder(EthernetHeader arg)
-
RouterSolicitationPacketBuilder
public RouterSolicitationPacketBuilder(Ipv6Header arg)
-
RouterSolicitationPacketBuilder
public RouterSolicitationPacketBuilder(Icmp6Header arg)
-
RouterSolicitationPacketBuilder
public RouterSolicitationPacketBuilder(RouterSolicitationPacket 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.genius.ipv6.nd.packet.rev160620.EthernetHeader
- org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.Icmp6Header
- org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.Ipv6Header
- Parameters:
arg
- grouping object- Throws:
java.lang.IllegalArgumentException
- if given argument is none of valid types or has property with incompatible value
-
getDestinationIpv6
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address getDestinationIpv6()
-
getDestinationMac
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress getDestinationMac()
-
getEthertype
public org.opendaylight.yangtools.yang.common.Uint16 getEthertype()
-
getFlowLabel
public org.opendaylight.yangtools.yang.common.Uint32 getFlowLabel()
-
getHopLimit
public org.opendaylight.yangtools.yang.common.Uint8 getHopLimit()
-
getIcmp6Chksum
public org.opendaylight.yangtools.yang.common.Uint16 getIcmp6Chksum()
-
getIcmp6Code
public org.opendaylight.yangtools.yang.common.Uint8 getIcmp6Code()
-
getIcmp6Type
public org.opendaylight.yangtools.yang.common.Uint8 getIcmp6Type()
-
getIpv6Length
public org.opendaylight.yangtools.yang.common.Uint16 getIpv6Length()
-
getNextHeader
public org.opendaylight.yangtools.yang.common.Uint8 getNextHeader()
-
getOptionType
public org.opendaylight.yangtools.yang.common.Uint8 getOptionType()
-
getReserved
public org.opendaylight.yangtools.yang.common.Uint32 getReserved()
-
getSourceAddrLength
public org.opendaylight.yangtools.yang.common.Uint8 getSourceAddrLength()
-
getSourceIpv6
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address getSourceIpv6()
-
getSourceLlAddress
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress getSourceLlAddress()
-
getSourceMac
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress getSourceMac()
-
getVersion
public org.opendaylight.yangtools.yang.common.Uint8 getVersion()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterSolicitationPacket>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
setDestinationIpv6
public RouterSolicitationPacketBuilder setDestinationIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
-
setDestinationMac
public RouterSolicitationPacketBuilder setDestinationMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setEthertype
public RouterSolicitationPacketBuilder setEthertype(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setEthertype
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setEthertype(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetEthertype(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setFlowLabel
public RouterSolicitationPacketBuilder setFlowLabel(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setFlowLabel
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setFlowLabel(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetFlowLabel(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setHopLimit
public RouterSolicitationPacketBuilder setHopLimit(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setHopLimit
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setHopLimit(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetHopLimit(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setIcmp6Chksum
public RouterSolicitationPacketBuilder setIcmp6Chksum(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setIcmp6Chksum
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setIcmp6Chksum(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Chksum(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setIcmp6Code
public RouterSolicitationPacketBuilder setIcmp6Code(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setIcmp6Code
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setIcmp6Code(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Code(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setIcmp6Type
public RouterSolicitationPacketBuilder setIcmp6Type(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setIcmp6Type
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setIcmp6Type(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Type(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setIpv6Length
public RouterSolicitationPacketBuilder setIpv6Length(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setIpv6Length
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setIpv6Length(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIpv6Length(Uint16)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setNextHeader
public RouterSolicitationPacketBuilder setNextHeader(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setNextHeader
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setNextHeader(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetNextHeader(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setOptionType
public RouterSolicitationPacketBuilder setOptionType(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setOptionType
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setOptionType(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetOptionType(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setReserved
public RouterSolicitationPacketBuilder setReserved(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setReserved
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setReserved(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetReserved(Uint32)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setSourceAddrLength
public RouterSolicitationPacketBuilder setSourceAddrLength(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setSourceAddrLength
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setSourceAddrLength(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetSourceAddrLength(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
setSourceIpv6
public RouterSolicitationPacketBuilder setSourceIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
-
setSourceLlAddress
public RouterSolicitationPacketBuilder setSourceLlAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setSourceMac
public RouterSolicitationPacketBuilder setSourceMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setVersion
public RouterSolicitationPacketBuilder setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setVersion
@Deprecated(forRemoval=true) public RouterSolicitationPacketBuilder setVersion(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetVersion(Uint8)
instead.Utility migration setter.- Parameters:
value
- field value in legacy type- Returns:
- this builder
-
addAugmentation
public RouterSolicitationPacketBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<RouterSolicitationPacket> augmentation)
Add an augmentation to this builder's product.- Parameters:
augmentation
- augmentation to be added- Returns:
- this builder
- Throws:
java.lang.NullPointerException
- ifaugmentation
is null
-
removeAugmentation
public RouterSolicitationPacketBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<RouterSolicitationPacket>> 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 RouterSolicitationPacket build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<RouterSolicitationPacket>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<RouterSolicitationPacket,java.lang.IllegalArgumentException>
-
-