Class StatResultBuilder

  • All Implemented Interfaces:
    org.opendaylight.yangtools.concepts.Builder<StatResult>, org.opendaylight.yangtools.concepts.CheckedBuilder<StatResult,​java.lang.IllegalArgumentException>, org.opendaylight.yangtools.concepts.Mutable, org.opendaylight.yangtools.concepts.MutationBehaviour<org.opendaylight.yangtools.concepts.Mutable>

    public class StatResultBuilder
    extends java.lang.Object
    implements org.opendaylight.yangtools.concepts.Builder<StatResult>
    Class that builds StatResultBuilder 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:

       
         StatResultBuilder createTarget(int fooXyzzy, int barBaz) {
             return new StatResultBuilderBuilder()
                 .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build())
                 .setBar(new BarBuilder().setBaz(barBaz).build())
                 .build();
         }
       
     

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

      • StatResultBuilder

        public StatResultBuilder()
      • StatResultBuilder

        public StatResultBuilder​(org.opendaylight.yang.gen.v1.urn.opendaylight.genius._interface.statistics.rev150824.StatReply arg)
      • StatResultBuilder

        public StatResultBuilder​(org.opendaylight.yang.gen.v1.urn.opendaylight.genius._interface.statistics.rev150824.ServiceEnitityStatistics arg)
      • StatResultBuilder

        public StatResultBuilder​(StatResult 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._interface.statistics.rev150824.ServiceEnitityStatistics
        • org.opendaylight.yang.gen.v1.urn.opendaylight.genius._interface.statistics.rev150824.StatReply
        Parameters:
        arg - grouping object
        Throws:
        java.lang.IllegalArgumentException - if given argument is none of valid types
      • getByteRxCount

        public org.opendaylight.yangtools.yang.common.Uint32 getByteRxCount()
      • getByteTxCount

        public org.opendaylight.yangtools.yang.common.Uint32 getByteTxCount()
      • getPacketRxCount

        public org.opendaylight.yangtools.yang.common.Uint32 getPacketRxCount()
      • getPacketTxCount

        public org.opendaylight.yangtools.yang.common.Uint32 getPacketTxCount()
      • getStatResultCode

        public org.opendaylight.yang.gen.v1.urn.opendaylight.genius._interface.statistics.rev150824.ResultCode getStatResultCode()
      • augmentation

        public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<StatResult>> E$$ augmentation​(java.lang.Class<E$$> augmentationType)
      • setByteRxCount

        public StatResultBuilder setByteRxCount​(org.opendaylight.yangtools.yang.common.Uint32 value)
      • setByteRxCount

        @Deprecated(forRemoval=true)
        public StatResultBuilder setByteRxCount​(java.lang.Long value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use {#link setByteRxCount(Uint32)} instead.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setByteTxCount

        public StatResultBuilder setByteTxCount​(org.opendaylight.yangtools.yang.common.Uint32 value)
      • setByteTxCount

        @Deprecated(forRemoval=true)
        public StatResultBuilder setByteTxCount​(java.lang.Long value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use {#link setByteTxCount(Uint32)} instead.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setPacketRxCount

        public StatResultBuilder setPacketRxCount​(org.opendaylight.yangtools.yang.common.Uint32 value)
      • setPacketRxCount

        @Deprecated(forRemoval=true)
        public StatResultBuilder setPacketRxCount​(java.lang.Long value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use {#link setPacketRxCount(Uint32)} instead.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setPacketTxCount

        public StatResultBuilder setPacketTxCount​(org.opendaylight.yangtools.yang.common.Uint32 value)
      • setPacketTxCount

        @Deprecated(forRemoval=true)
        public StatResultBuilder setPacketTxCount​(java.lang.Long value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use {#link setPacketTxCount(Uint32)} instead.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setStatResultCode

        public StatResultBuilder setStatResultCode​(org.opendaylight.yang.gen.v1.urn.opendaylight.genius._interface.statistics.rev150824.ResultCode value)
      • addAugmentation

        public StatResultBuilder addAugmentation​(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<StatResult>> augmentationType,
                                                 org.opendaylight.yangtools.yang.binding.Augmentation<StatResult> augmentationValue)
      • removeAugmentation

        public StatResultBuilder removeAugmentation​(java.lang.Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<StatResult>> augmentationType)
      • build

        public StatResult build()
        Specified by:
        build in interface org.opendaylight.yangtools.concepts.Builder<StatResult>
        Specified by:
        build in interface org.opendaylight.yangtools.concepts.CheckedBuilder<StatResult,​java.lang.IllegalArgumentException>