Class AbstractDynamicMountPointContextFactory

java.lang.Object
org.opendaylight.yangtools.concepts.AbstractIdentifiable<T,T>
org.opendaylight.yangtools.concepts.AbstractSimpleIdentifiable<org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier>
org.opendaylight.yangtools.rfc8528.data.util.AbstractDynamicMountPointContextFactory
All Implemented Interfaces:
Identifiable<org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier>, org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory
Direct Known Subclasses:
AbstractMountPointContextFactory

@Beta public abstract class AbstractDynamicMountPointContextFactory extends AbstractSimpleIdentifiable<org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier> implements org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory
Abstract base class for dynamic resolvers.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    AbstractDynamicMountPointContextFactory(@NonNull org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier mountId)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract @NonNull org.opendaylight.yangtools.yang.model.api.EffectiveModelContext
    bindLibrary(@NonNull org.opendaylight.yangtools.rfc8528.data.api.YangLibraryConstants.ContainerName containerName, @NonNull org.opendaylight.yangtools.yang.data.api.schema.ContainerNode libData)
    Assemble the MountPointContext for specified normalized YANG Library top-level container.
    final org.opendaylight.yangtools.rfc8528.data.api.MountPointContext
    createContext(Map<org.opendaylight.yangtools.rfc8528.data.api.YangLibraryConstants.ContainerName,org.opendaylight.yangtools.rfc8528.data.api.MountPointChild> libraryContainers, org.opendaylight.yangtools.rfc8528.data.api.MountPointChild schemaMounts)
     
    protected abstract @NonNull org.opendaylight.yangtools.rfc8528.data.api.MountPointContext
    createMountPointContext(@NonNull org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, @NonNull org.opendaylight.yangtools.yang.data.api.schema.ContainerNode mountData)
     
    protected abstract Optional<org.opendaylight.yangtools.yang.model.api.EffectiveModelContext>
    findSchemaForLibrary(@NonNull org.opendaylight.yangtools.rfc8528.data.api.YangLibraryConstants.ContainerName containerName)
    Return the schema in which YANG Library container content should be interpreted.

    Methods inherited from class org.opendaylight.yangtools.concepts.AbstractIdentifiable

    addToStringAttributes, getIdentifier, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • AbstractDynamicMountPointContextFactory

      protected AbstractDynamicMountPointContextFactory(@NonNull org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier mountId)
  • Method Details

    • createContext

      public final org.opendaylight.yangtools.rfc8528.data.api.MountPointContext createContext(Map<org.opendaylight.yangtools.rfc8528.data.api.YangLibraryConstants.ContainerName,org.opendaylight.yangtools.rfc8528.data.api.MountPointChild> libraryContainers, org.opendaylight.yangtools.rfc8528.data.api.MountPointChild schemaMounts) throws org.opendaylight.yangtools.yang.parser.api.YangParserException
      Specified by:
      createContext in interface org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory
      Throws:
      org.opendaylight.yangtools.yang.parser.api.YangParserException
    • createMountPointContext

      protected abstract @NonNull org.opendaylight.yangtools.rfc8528.data.api.MountPointContext createMountPointContext(@NonNull org.opendaylight.yangtools.yang.model.api.EffectiveModelContext schemaContext, @NonNull org.opendaylight.yangtools.yang.data.api.schema.ContainerNode mountData)
    • bindLibrary

      protected abstract @NonNull org.opendaylight.yangtools.yang.model.api.EffectiveModelContext bindLibrary(@NonNull org.opendaylight.yangtools.rfc8528.data.api.YangLibraryConstants.ContainerName containerName, @NonNull org.opendaylight.yangtools.yang.data.api.schema.ContainerNode libData) throws org.opendaylight.yangtools.yang.parser.api.YangParserException
      Assemble the MountPointContext for specified normalized YANG Library top-level container.
      Parameters:
      containerName - Top-level YANG Library container
      libData - Top-level YANG Library container data
      Returns:
      An assembled MountPointContext
      Throws:
      NullPointerException - if container is null
      org.opendaylight.yangtools.yang.parser.api.YangParserException - if the schema context cannot be assembled
    • findSchemaForLibrary

      protected abstract Optional<org.opendaylight.yangtools.yang.model.api.EffectiveModelContext> findSchemaForLibrary(@NonNull org.opendaylight.yangtools.rfc8528.data.api.YangLibraryConstants.ContainerName containerName)
      Return the schema in which YANG Library container content should be interpreted.

      Note this schema is not guaranteed to contain any augmentations, hence parsing could fail.

      Parameters:
      containerName - Top-level YANG Library container name
      Returns:
      The LibraryContext to use when interpreting the specified YANG Library container, or empty
      Throws:
      NullPointerException - if container is null