Class NeighborSolicitationPacketBuilder
- java.lang.Object
-
- org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.packet.rev160620.NeighborSolicitationPacketBuilder
-
- All Implemented Interfaces:
org.opendaylight.yangtools.concepts.Builder<NeighborSolicitationPacket>
,org.opendaylight.yangtools.concepts.CheckedBuilder<NeighborSolicitationPacket,java.lang.IllegalArgumentException>
,org.opendaylight.yangtools.concepts.Mutable
,org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>
@Generated("mdsal-binding-generator") public class NeighborSolicitationPacketBuilder extends java.lang.Object implements org.opendaylight.yangtools.concepts.Builder<NeighborSolicitationPacket>
Class that buildsNeighborSolicitationPacketBuilder
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:
NeighborSolicitationPacketBuilder createTarget(int fooXyzzy, int barBaz) { return new NeighborSolicitationPacketBuilderBuilder() .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build()) .setBar(new BarBuilder().setBaz(barBaz).build()) .build(); }
This pattern is supported by the immutable nature of NeighborSolicitationPacketBuilder, 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:
NeighborSolicitationPacketBuilder
,Builder
-
-
Constructor Summary
Constructors Constructor Description NeighborSolicitationPacketBuilder()
NeighborSolicitationPacketBuilder(EthernetHeader arg)
NeighborSolicitationPacketBuilder(Icmp6Header arg)
NeighborSolicitationPacketBuilder(Ipv6Header arg)
NeighborSolicitationPacketBuilder(NeighborSolicitationPacket base)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description NeighborSolicitationPacketBuilder
addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<NeighborSolicitationPacket> augmentation)
Add an augmentation to this builder's product.<E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<NeighborSolicitationPacket>>
E$$augmentation(java.lang.Class<E$$> augmentationType)
NeighborSolicitationPacket
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.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address
getTargetIpAddress()
org.opendaylight.yangtools.yang.common.Uint8
getVersion()
NeighborSolicitationPacketBuilder
removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<NeighborSolicitationPacket>> augmentationType)
Remove an augmentation from this builder's product.NeighborSolicitationPacketBuilder
setDestinationIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
NeighborSolicitationPacketBuilder
setDestinationMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
NeighborSolicitationPacketBuilder
setEthertype(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetEthertype(Uint16)
instead.NeighborSolicitationPacketBuilder
setEthertype(org.opendaylight.yangtools.yang.common.Uint16 value)
NeighborSolicitationPacketBuilder
setFlowLabel(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetFlowLabel(Uint32)
instead.NeighborSolicitationPacketBuilder
setFlowLabel(org.opendaylight.yangtools.yang.common.Uint32 value)
NeighborSolicitationPacketBuilder
setHopLimit(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetHopLimit(Uint8)
instead.NeighborSolicitationPacketBuilder
setHopLimit(org.opendaylight.yangtools.yang.common.Uint8 value)
NeighborSolicitationPacketBuilder
setIcmp6Chksum(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Chksum(Uint16)
instead.NeighborSolicitationPacketBuilder
setIcmp6Chksum(org.opendaylight.yangtools.yang.common.Uint16 value)
NeighborSolicitationPacketBuilder
setIcmp6Code(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Code(Uint8)
instead.NeighborSolicitationPacketBuilder
setIcmp6Code(org.opendaylight.yangtools.yang.common.Uint8 value)
NeighborSolicitationPacketBuilder
setIcmp6Type(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIcmp6Type(Uint8)
instead.NeighborSolicitationPacketBuilder
setIcmp6Type(org.opendaylight.yangtools.yang.common.Uint8 value)
NeighborSolicitationPacketBuilder
setIpv6Length(java.lang.Integer value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetIpv6Length(Uint16)
instead.NeighborSolicitationPacketBuilder
setIpv6Length(org.opendaylight.yangtools.yang.common.Uint16 value)
NeighborSolicitationPacketBuilder
setNextHeader(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetNextHeader(Uint8)
instead.NeighborSolicitationPacketBuilder
setNextHeader(org.opendaylight.yangtools.yang.common.Uint8 value)
NeighborSolicitationPacketBuilder
setOptionType(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetOptionType(Uint8)
instead.NeighborSolicitationPacketBuilder
setOptionType(org.opendaylight.yangtools.yang.common.Uint8 value)
NeighborSolicitationPacketBuilder
setReserved(java.lang.Long value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetReserved(Uint32)
instead.NeighborSolicitationPacketBuilder
setReserved(org.opendaylight.yangtools.yang.common.Uint32 value)
NeighborSolicitationPacketBuilder
setSourceAddrLength(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetSourceAddrLength(Uint8)
instead.NeighborSolicitationPacketBuilder
setSourceAddrLength(org.opendaylight.yangtools.yang.common.Uint8 value)
NeighborSolicitationPacketBuilder
setSourceIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
NeighborSolicitationPacketBuilder
setSourceLlAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
NeighborSolicitationPacketBuilder
setSourceMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
NeighborSolicitationPacketBuilder
setTargetIpAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
NeighborSolicitationPacketBuilder
setVersion(java.lang.Short value)
Deprecated, for removal: This API element is subject to removal in a future version.UsesetVersion(Uint8)
instead.NeighborSolicitationPacketBuilder
setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
-
-
-
Constructor Detail
-
NeighborSolicitationPacketBuilder
public NeighborSolicitationPacketBuilder()
-
NeighborSolicitationPacketBuilder
public NeighborSolicitationPacketBuilder(EthernetHeader arg)
-
NeighborSolicitationPacketBuilder
public NeighborSolicitationPacketBuilder(Ipv6Header arg)
-
NeighborSolicitationPacketBuilder
public NeighborSolicitationPacketBuilder(Icmp6Header arg)
-
NeighborSolicitationPacketBuilder
public NeighborSolicitationPacketBuilder(NeighborSolicitationPacket 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()
-
getTargetIpAddress
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address getTargetIpAddress()
-
getVersion
public org.opendaylight.yangtools.yang.common.Uint8 getVersion()
-
augmentation
public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<NeighborSolicitationPacket>> E$$ augmentation(java.lang.Class<E$$> augmentationType)
-
setDestinationIpv6
public NeighborSolicitationPacketBuilder setDestinationIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
-
setDestinationMac
public NeighborSolicitationPacketBuilder setDestinationMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setEthertype
public NeighborSolicitationPacketBuilder setEthertype(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setEthertype
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setFlowLabel(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setFlowLabel
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setHopLimit(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setHopLimit
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setIcmp6Chksum(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setIcmp6Chksum
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setIcmp6Code(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setIcmp6Code
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setIcmp6Type(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setIcmp6Type
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setIpv6Length(org.opendaylight.yangtools.yang.common.Uint16 value)
-
setIpv6Length
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setNextHeader(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setNextHeader
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setOptionType(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setOptionType
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setReserved(org.opendaylight.yangtools.yang.common.Uint32 value)
-
setReserved
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setSourceAddrLength(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setSourceAddrLength
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder setSourceIpv6(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
-
setSourceLlAddress
public NeighborSolicitationPacketBuilder setSourceLlAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setSourceMac
public NeighborSolicitationPacketBuilder setSourceMac(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress value)
-
setTargetIpAddress
public NeighborSolicitationPacketBuilder setTargetIpAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address value)
-
setVersion
public NeighborSolicitationPacketBuilder setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
-
setVersion
@Deprecated(forRemoval=true) public NeighborSolicitationPacketBuilder 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 NeighborSolicitationPacketBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<NeighborSolicitationPacket> 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 NeighborSolicitationPacketBuilder removeAugmentation(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<NeighborSolicitationPacket>> 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 NeighborSolicitationPacket build()
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.Builder<NeighborSolicitationPacket>
- Specified by:
build
in interfaceorg.opendaylight.yangtools.concepts.CheckedBuilder<NeighborSolicitationPacket,java.lang.IllegalArgumentException>
-
-