Interface ConfigEffectiveStatement

All Superinterfaces:
EffectiveStatement<Boolean,ConfigStatement>, ModelStatement<Boolean>
All Known Implementing Classes:
EmptyConfigEffectiveStatement, RegularConfigEffectiveStatement

public interface ConfigEffectiveStatement extends EffectiveStatement<Boolean,ConfigStatement>
Effective representation of a config statement.

Note that unlike almost all other representations, these statements are only ever a reflection of a declared config statement. The truly effective status of a particular statement within a tree depends on its parent statements. As an example, given this YANG module:

   
     module foo {

       grouping foo {
         leaf baz {
           type string;
         }
       }

       container bar {
         config false;
         uses foo;
       }

       uses bar;
     }
   
 
The object model will only reflect the config statement in container bar, but will not be present in bar's baz leaf. The real effective config of leaf baz is a tri-state value:
  1. within grouping foo it is not applicable, that is to say undefined
  2. within container bar it is inherited, that is to say false
  3. within module foo it is inherited from default, that is to say true

Users are advised to use utility classes related to statement inference which consider parent/child relationships of statements.