Class FilesystemSchemaSourceCache<T extends SourceRepresentation>

java.lang.Object
org.opendaylight.yangtools.yang.model.repo.spi.AbstractSchemaSourceCache<T>
org.opendaylight.yangtools.yang.model.repo.fs.FilesystemSchemaSourceCache<T>
All Implemented Interfaces:
SchemaSourceListener, SchemaSourceProvider<T>

public final class FilesystemSchemaSourceCache<T extends SourceRepresentation> extends AbstractSchemaSourceCache<T>
Cache implementation that stores schemas in form of files under provided folder.
  • Constructor Details

  • Method Details

    • getSource

      public FluentFuture<? extends T> getSource(SourceIdentifier sourceIdentifier)
      Description copied from interface: SchemaSourceProvider
      Returns a representation a for supplied YANG source identifier. The resolution criteria are as follows:
      • If the source identifier specifies a revision, this method returns either a representation of that particular revision or throw MissingSchemaSourceException
      • If the source identifier does not specify a revision, this method returns the newest available revision, or throws MissingSchemaSourceException

      In either case the returned representation is required to report a non-null revision in the SourceIdentifier returned from SourceRepresentation.sourceId().

      Implementations are not required to provide constant behavior in time, notably this different invocation of this method may produce different results.

      Parameters:
      sourceIdentifier - source identifier
      Returns:
      future source representation, if supplied YANG module is available
    • offer

      protected void offer(T source)
      Description copied from class: AbstractSchemaSourceCache
      Offer a schema source in requested representation for caching. Subclasses need to implement this method to store the schema source. Once they have determined to cache the source, they should call AbstractSchemaSourceCache.register(SourceIdentifier).
      Specified by:
      offer in class AbstractSchemaSourceCache<T extends SourceRepresentation>
      Parameters:
      source - schema source