Class AbstractDynamicMountPointContextFactory

  • All Implemented Interfaces:
    org.opendaylight.yangtools.concepts.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 org.opendaylight.yangtools.concepts.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

      All Methods Instance Methods Abstract Methods Concrete Methods 
      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.
      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
    • Constructor Detail

      • AbstractDynamicMountPointContextFactory

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

      • 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