java.lang.Object
org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutputBuilder

@Generated("mdsal-binding-generator") public class GetFeaturesOutputBuilder extends Object
Class that builds GetFeaturesOutput 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:

   
     GetFeaturesOutput createGetFeaturesOutput(int fooXyzzy, int barBaz) {
         return new GetFeaturesOutputBuilder()
             .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build())
             .setBar(new BarBuilder().setBaz(barBaz).build())
             .build();
     }
   
 

This pattern is supported by the immutable nature of GetFeaturesOutput, 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:
  • Constructor Details

    • GetFeaturesOutputBuilder

      public GetFeaturesOutputBuilder()
      Construct an empty builder.
    • GetFeaturesOutputBuilder

      public GetFeaturesOutputBuilder(FeaturesReply arg)
      Construct a new builder initialized from specified FeaturesReply.
      Parameters:
      arg - FeaturesReply from which the builder should be initialized
    • GetFeaturesOutputBuilder

      public GetFeaturesOutputBuilder(OfHeader arg)
      Construct a new builder initialized from specified OfHeader.
      Parameters:
      arg - OfHeader from which the builder should be initialized
    • GetFeaturesOutputBuilder

      public GetFeaturesOutputBuilder(GetFeaturesOutput base)
      Construct a builder initialized with state from specified GetFeaturesOutput.
      Parameters:
      base - GetFeaturesOutput from which the builder should be initialized
  • Method Details

    • 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:
      Parameters:
      arg - grouping object
      Throws:
      IllegalArgumentException - if given argument is none of valid types or has property with incompatible value
    • getActionsV10

      public ActionTypeV10 getActionsV10()
      Return current value associated with the property corresponding to FeaturesReply.getActionsV10().
      Returns:
      current value
    • getAuxiliaryId

      public org.opendaylight.yangtools.yang.common.Uint8 getAuxiliaryId()
      Return current value associated with the property corresponding to FeaturesReply.getAuxiliaryId().
      Returns:
      current value
    • getBuffers

      public org.opendaylight.yangtools.yang.common.Uint32 getBuffers()
      Return current value associated with the property corresponding to FeaturesReply.getBuffers().
      Returns:
      current value
    • getCapabilities

      public Capabilities getCapabilities()
      Return current value associated with the property corresponding to FeaturesReply.getCapabilities().
      Returns:
      current value
    • getCapabilitiesV10

      public CapabilitiesV10 getCapabilitiesV10()
      Return current value associated with the property corresponding to FeaturesReply.getCapabilitiesV10().
      Returns:
      current value
    • getDatapathId

      public org.opendaylight.yangtools.yang.common.Uint64 getDatapathId()
      Return current value associated with the property corresponding to FeaturesReply.getDatapathId().
      Returns:
      current value
    • getPhyPort

      public List<PhyPort> getPhyPort()
      Return current value associated with the property corresponding to FeaturesReply.getPhyPort().
      Returns:
      current value
    • getReserved

      public org.opendaylight.yangtools.yang.common.Uint32 getReserved()
      Return current value associated with the property corresponding to FeaturesReply.getReserved().
      Returns:
      current value
    • getTables

      public org.opendaylight.yangtools.yang.common.Uint8 getTables()
      Return current value associated with the property corresponding to FeaturesReply.getTables().
      Returns:
      current value
    • getVersion

      public org.opendaylight.yangtools.yang.common.Uint8 getVersion()
      Return current value associated with the property corresponding to OfHeader.getVersion().
      Returns:
      current value
    • getXid

      public org.opendaylight.yangtools.yang.common.Uint32 getXid()
      Return current value associated with the property corresponding to OfHeader.getXid().
      Returns:
      current value
    • augmentation

      public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<GetFeaturesOutput>> E$$ augmentation(Class<E$$> augmentationType)
      Return the specified augmentation, if it is present in this builder.
      Type Parameters:
      E$$ - augmentation type
      Parameters:
      augmentationType - augmentation type class
      Returns:
      Augmentation object from this builder, or null if not present
      Throws:
      NullPointerException - if augmentType is null
    • setActionsV10

      public GetFeaturesOutputBuilder setActionsV10(ActionTypeV10 value)
      Set the property corresponding to FeaturesReply.getActionsV10() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setAuxiliaryId

      public GetFeaturesOutputBuilder setAuxiliaryId(org.opendaylight.yangtools.yang.common.Uint8 value)
      Set the property corresponding to FeaturesReply.getAuxiliaryId() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setBuffers

      public GetFeaturesOutputBuilder setBuffers(org.opendaylight.yangtools.yang.common.Uint32 value)
      Set the property corresponding to FeaturesReply.getBuffers() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setCapabilities

      public GetFeaturesOutputBuilder setCapabilities(Capabilities value)
      Set the property corresponding to FeaturesReply.getCapabilities() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setCapabilitiesV10

      public GetFeaturesOutputBuilder setCapabilitiesV10(CapabilitiesV10 value)
      Set the property corresponding to FeaturesReply.getCapabilitiesV10() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setDatapathId

      public GetFeaturesOutputBuilder setDatapathId(org.opendaylight.yangtools.yang.common.Uint64 value)
      Set the property corresponding to FeaturesReply.getDatapathId() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setPhyPort

      public GetFeaturesOutputBuilder setPhyPort(List<PhyPort> values)
      Set the property corresponding to FeaturesReply.getPhyPort() to the specified value.
      Parameters:
      values - desired value
      Returns:
      this builder
    • setReserved

      public GetFeaturesOutputBuilder setReserved(org.opendaylight.yangtools.yang.common.Uint32 value)
      Set the property corresponding to FeaturesReply.getReserved() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setTables

      public GetFeaturesOutputBuilder setTables(org.opendaylight.yangtools.yang.common.Uint8 value)
      Set the property corresponding to FeaturesReply.getTables() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setVersion

      public GetFeaturesOutputBuilder setVersion(org.opendaylight.yangtools.yang.common.Uint8 value)
      Set the property corresponding to OfHeader.getVersion() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • setXid

      public GetFeaturesOutputBuilder setXid(org.opendaylight.yangtools.yang.common.Uint32 value)
      Set the property corresponding to OfHeader.getXid() to the specified value.
      Parameters:
      value - desired value
      Returns:
      this builder
    • addAugmentation

      public GetFeaturesOutputBuilder addAugmentation(org.opendaylight.yangtools.yang.binding.Augmentation<GetFeaturesOutput> augmentation)
      Add an augmentation to this builder's product.
      Parameters:
      augmentation - augmentation to be added
      Returns:
      this builder
      Throws:
      NullPointerException - if augmentation is null
    • removeAugmentation

      public GetFeaturesOutputBuilder removeAugmentation(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<GetFeaturesOutput>> 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 @NonNull GetFeaturesOutput build()
      A new GetFeaturesOutput instance.
      Returns:
      A new GetFeaturesOutput instance.