java.lang.Object
org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupportBundle
All Implemented Interfaces:
Immutable, NamespaceBehaviour.Registry

public final class StatementSupportBundle extends Object implements Immutable, NamespaceBehaviour.Registry
  • Method Details

    • getCommonDefinitions

      public com.google.common.collect.ImmutableMap<QName,StatementSupport<?,?,?>> getCommonDefinitions()
      Returns statement definitions common for all versions.
      Returns:
      map of common statement definitions
    • getDefinitionsSpecificForVersion

      public com.google.common.collect.ImmutableMap<QName,StatementSupport<?,?,?>> getDefinitionsSpecificForVersion(YangVersion version)
      Returns statement definitions specific for requested version. Result of this method does nit include common statement definitions.
      Parameters:
      version - requested version
      Returns:
      map of statement definitions specific for requested version, it doesn't include common statement definitions.
    • getAllVersionSpecificDefinitions

      public com.google.common.collect.ImmutableTable<YangVersion,QName,StatementSupport<?,?,?>> getAllVersionSpecificDefinitions()
      Returns all version specific statement definitions. Result of this method does not include common statement definitions.
      Returns:
      table of all version specific statement definitions, it doesn't include common statement definitions.
    • getNamespaceDefinitions

      public com.google.common.collect.ImmutableMap<Class<?>,NamespaceBehaviour<?,?,?>> getNamespaceDefinitions()
    • builder

      public static StatementSupportBundle.Builder builder(Set<YangVersion> supportedVersions)
    • derivedFrom

      public static StatementSupportBundle.Builder derivedFrom(StatementSupportBundle parent)
    • getSupportedVersions

      public Set<YangVersion> getSupportedVersions()
    • getNamespaceBehaviour

      public <K, V, N extends ParserNamespace<K, V>> NamespaceBehaviour<K,V,N> getNamespaceBehaviour(Class<N> namespace)
      Description copied from interface: NamespaceBehaviour.Registry
      Get a namespace behavior.
      Specified by:
      getNamespaceBehaviour in interface NamespaceBehaviour.Registry
      Type Parameters:
      K - key type
      V - value type
      N - namespace type
      Parameters:
      namespace - Namespace type class
      Returns:
      Namespace behaviour
    • hasNamespaceBehaviour

      public <K, V, N extends ParserNamespace<K, V>> boolean hasNamespaceBehaviour(Class<N> namespace)
    • getStatementDefinition

      public StatementSupport<?,?,?> getStatementDefinition(YangVersion version, QName stmtName)