Class StatsBuilder

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

    @Generated("mdsal-binding-generator")
    public class StatsBuilder
    extends Object
    implements org.opendaylight.yangtools.concepts.Builder<Stats>
    Class that builds Stats 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:

       
         Stats createStats(int fooXyzzy, int barBaz) {
             return new StatsBuilder()
                 .setFoo(new FooBuilder().setXyzzy(fooXyzzy).build())
                 .setBar(new BarBuilder().setBaz(barBaz).build())
                 .build();
         }
       
     

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

      • StatsBuilder

        public StatsBuilder()
      • StatsBuilder

        public StatsBuilder​(Timestamp arg)
      • StatsBuilder

        public StatsBuilder​(Stats 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.params.xml.ns.yang.bmp.message.rev200120.Timestamp
        Parameters:
        arg - grouping object
        Throws:
        IllegalArgumentException - if given argument is none of valid types or has property with incompatible value
      • getAdjRibsInRoutes

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Gauge64 getAdjRibsInRoutes()
      • getDuplicatePrefixAdvertisements

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getDuplicatePrefixAdvertisements()
      • getDuplicateUpdates

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getDuplicateUpdates()
      • getDuplicateWithdraws

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getDuplicateWithdraws()
      • getInvalidatedAsConfedLoop

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getInvalidatedAsConfedLoop()
      • getInvalidatedAsPathLoop

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getInvalidatedAsPathLoop()
      • getInvalidatedClusterListLoop

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getInvalidatedClusterListLoop()
      • getInvalidatedOriginatorId

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getInvalidatedOriginatorId()
      • getLocRibRoutes

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Gauge64 getLocRibRoutes()
      • getPrefixesTreatedAsWithdraw

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getPrefixesTreatedAsWithdraw()
      • getRejectedPrefixes

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getRejectedPrefixes()
      • getTimestampMicro

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Timestamp getTimestampMicro()
      • getTimestampSec

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Timestamp getTimestampSec()
      • getUpdatesTreatedAsWithdraw

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 getUpdatesTreatedAsWithdraw()
      • augmentation

        public <E$$ extends org.opendaylight.yangtools.yang.binding.Augmentation<Stats>> E$$ augmentation​(Class<E$$> augmentationType)
      • setAdjRibsInRoutes

        public StatsBuilder setAdjRibsInRoutes​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Gauge64 value)
      • setDuplicatePrefixAdvertisements

        public StatsBuilder setDuplicatePrefixAdvertisements​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setDuplicateUpdates

        public StatsBuilder setDuplicateUpdates​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setDuplicateWithdraws

        public StatsBuilder setDuplicateWithdraws​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setInvalidatedAsConfedLoop

        public StatsBuilder setInvalidatedAsConfedLoop​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setInvalidatedAsPathLoop

        public StatsBuilder setInvalidatedAsPathLoop​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setInvalidatedClusterListLoop

        public StatsBuilder setInvalidatedClusterListLoop​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setInvalidatedOriginatorId

        public StatsBuilder setInvalidatedOriginatorId​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setLocRibRoutes

        public StatsBuilder setLocRibRoutes​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Gauge64 value)
      • setPrefixesTreatedAsWithdraw

        public StatsBuilder setPrefixesTreatedAsWithdraw​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setRejectedPrefixes

        public StatsBuilder setRejectedPrefixes​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • setTimestampMicro

        public StatsBuilder setTimestampMicro​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Timestamp value)
      • setTimestampSec

        public StatsBuilder setTimestampSec​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Timestamp value)
      • setUpdatesTreatedAsWithdraw

        public StatsBuilder setUpdatesTreatedAsWithdraw​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32 value)
      • addAugmentation

        public StatsBuilder addAugmentation​(org.opendaylight.yangtools.yang.binding.Augmentation<Stats> 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 StatsBuilder removeAugmentation​(Class<? extends org.opendaylight.yangtools.yang.binding.Augmentation<Stats>> 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 Stats build()
        Specified by:
        build in interface org.opendaylight.yangtools.concepts.Builder<Stats>
        Specified by:
        build in interface org.opendaylight.yangtools.concepts.CheckedBuilder<Stats,​IllegalArgumentException>