Class ElanConfigBuilder

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

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

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

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

      • ElanConfigBuilder

        public ElanConfigBuilder()
      • ElanConfigBuilder

        public ElanConfigBuilder​(ElanConfig base)
    • Method Detail

      • getArpPuntTimeout

        public org.opendaylight.yangtools.yang.common.Uint32 getArpPuntTimeout()
      • getAutoConfigTransportZones

        public java.lang.Boolean getAutoConfigTransportZones()
      • isAutoConfigTransportZones

        @Deprecated(forRemoval=true)
        public final java.lang.Boolean isAutoConfigTransportZones()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getAutoCreateBridge

        public java.lang.Boolean getAutoCreateBridge()
      • isAutoCreateBridge

        @Deprecated(forRemoval=true)
        public final java.lang.Boolean isAutoCreateBridge()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getControllerInactivityProbe

        public org.opendaylight.yangtools.yang.common.Uint32 getControllerInactivityProbe()
      • getControllerMaxBackoff

        public org.opendaylight.yangtools.yang.common.Uint32 getControllerMaxBackoff()
      • getIntBridgeGenMac

        public java.lang.Boolean getIntBridgeGenMac()
      • isIntBridgeGenMac

        @Deprecated(forRemoval=true)
        public final java.lang.Boolean isIntBridgeGenMac()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getL2gwLogicalSwitchDelaySecs

        public org.opendaylight.yangtools.yang.common.Uint16 getL2gwLogicalSwitchDelaySecs()
      • getL2gwStaleLocalucastmacsCleanupDelaySecs

        public org.opendaylight.yangtools.yang.common.Uint16 getL2gwStaleLocalucastmacsCleanupDelaySecs()
      • getL2gwStaleVlanCleanupDelaySecs

        public org.opendaylight.yangtools.yang.common.Uint16 getL2gwStaleVlanCleanupDelaySecs()
      • getOpenstackVniSemanticsEnforced

        public java.lang.Boolean getOpenstackVniSemanticsEnforced()
      • isOpenstackVniSemanticsEnforced

        @Deprecated(forRemoval=true)
        public final java.lang.Boolean isOpenstackVniSemanticsEnforced()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getPuntLldpToController

        public java.lang.Boolean getPuntLldpToController()
      • isPuntLldpToController

        @Deprecated(forRemoval=true)
        public final java.lang.Boolean isPuntLldpToController()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getTempSmacLearnTimeout

        public org.opendaylight.yangtools.yang.common.Uint16 getTempSmacLearnTimeout()
      • getUseOfTunnels

        public java.lang.Boolean getUseOfTunnels()
      • isUseOfTunnels

        @Deprecated(forRemoval=true)
        public final java.lang.Boolean isUseOfTunnels()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • augmentation

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

        public ElanConfigBuilder setArpPuntTimeout​(org.opendaylight.yangtools.yang.common.Uint32 value)
      • setArpPuntTimeout

        @Deprecated(forRemoval=true)
        public ElanConfigBuilder setArpPuntTimeout​(java.lang.Long value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setAutoConfigTransportZones

        public ElanConfigBuilder setAutoConfigTransportZones​(java.lang.Boolean value)
      • setAutoCreateBridge

        public ElanConfigBuilder setAutoCreateBridge​(java.lang.Boolean value)
      • setControllerInactivityProbe

        public ElanConfigBuilder setControllerInactivityProbe​(org.opendaylight.yangtools.yang.common.Uint32 value)
      • setControllerInactivityProbe

        @Deprecated(forRemoval=true)
        public ElanConfigBuilder setControllerInactivityProbe​(java.lang.Long value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setControllerMaxBackoff

        public ElanConfigBuilder setControllerMaxBackoff​(org.opendaylight.yangtools.yang.common.Uint32 value)
      • setControllerMaxBackoff

        @Deprecated(forRemoval=true)
        public ElanConfigBuilder setControllerMaxBackoff​(java.lang.Long value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setIntBridgeGenMac

        public ElanConfigBuilder setIntBridgeGenMac​(java.lang.Boolean value)
      • setL2gwLogicalSwitchDelaySecs

        public ElanConfigBuilder setL2gwLogicalSwitchDelaySecs​(org.opendaylight.yangtools.yang.common.Uint16 value)
      • setL2gwLogicalSwitchDelaySecs

        @Deprecated(forRemoval=true)
        public ElanConfigBuilder setL2gwLogicalSwitchDelaySecs​(java.lang.Integer value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setL2gwStaleLocalucastmacsCleanupDelaySecs

        public ElanConfigBuilder setL2gwStaleLocalucastmacsCleanupDelaySecs​(org.opendaylight.yangtools.yang.common.Uint16 value)
      • setL2gwStaleLocalucastmacsCleanupDelaySecs

        @Deprecated(forRemoval=true)
        public ElanConfigBuilder setL2gwStaleLocalucastmacsCleanupDelaySecs​(java.lang.Integer value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setL2gwStaleVlanCleanupDelaySecs

        public ElanConfigBuilder setL2gwStaleVlanCleanupDelaySecs​(org.opendaylight.yangtools.yang.common.Uint16 value)
      • setL2gwStaleVlanCleanupDelaySecs

        @Deprecated(forRemoval=true)
        public ElanConfigBuilder setL2gwStaleVlanCleanupDelaySecs​(java.lang.Integer value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setOpenstackVniSemanticsEnforced

        public ElanConfigBuilder setOpenstackVniSemanticsEnforced​(java.lang.Boolean value)
      • setPuntLldpToController

        public ElanConfigBuilder setPuntLldpToController​(java.lang.Boolean value)
      • setTempSmacLearnTimeout

        public ElanConfigBuilder setTempSmacLearnTimeout​(org.opendaylight.yangtools.yang.common.Uint16 value)
      • setTempSmacLearnTimeout

        @Deprecated(forRemoval=true)
        public ElanConfigBuilder setTempSmacLearnTimeout​(java.lang.Integer value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Utility migration setter.
        Parameters:
        value - field value in legacy type
        Returns:
        this builder
      • setUseOfTunnels

        public ElanConfigBuilder setUseOfTunnels​(java.lang.Boolean value)
      • addAugmentation

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

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