Class SchemaSourceTransformer<S extends org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation,D extends org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation>

java.lang.Object
org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceTransformer<S,D>
All Implemented Interfaces:
EventListener, SchemaSourceListener, SchemaSourceProvider<D>

public class SchemaSourceTransformer<S extends org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation,D extends org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation> extends Object implements SchemaSourceListener, SchemaSourceProvider<D>
  • Constructor Details

    • SchemaSourceTransformer

      public SchemaSourceTransformer(org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository provider, Class<S> srcClass, SchemaSourceRegistry consumer, Class<D> dstClass, com.google.common.util.concurrent.AsyncFunction<S,D> function)
  • Method Details

    • getSource

      public final com.google.common.util.concurrent.ListenableFuture<D> getSource(org.opendaylight.yangtools.yang.model.repo.api.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 SchemaSourceRepresentation.getIdentifier().

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

      Specified by:
      getSource in interface SchemaSourceProvider<S extends org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation>
      Parameters:
      sourceIdentifier - source identifier
      Returns:
      future source representation, if supplied YANG module is available
    • schemaSourceEncountered

      public final void schemaSourceEncountered(org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation source)
      Description copied from interface: SchemaSourceListener
      Invoked when the registry sees a concrete source. This callback is typically used by cache-type listeners, who intercept the source, store it locally and announce themselves as a provider of that particular schema source.
      Specified by:
      schemaSourceEncountered in interface SchemaSourceListener
      Parameters:
      source - Schema source
    • schemaSourceRegistered

      public final void schemaSourceRegistered(Iterable<PotentialSchemaSource<?>> sources)
      Description copied from interface: SchemaSourceListener
      Invoked when a new schema source is registered by a provider. This call callback, along with SchemaSourceListener.schemaSourceUnregistered(PotentialSchemaSource) is typically used by transformer-type listeners, who intercept the registration if the advertised representation matches their input type and register themselves as a potential provider of the same source in their output representation type.
      Specified by:
      schemaSourceRegistered in interface SchemaSourceListener
      Parameters:
      sources - Newly available sources
    • schemaSourceUnregistered

      public final void schemaSourceUnregistered(PotentialSchemaSource<?> source)
      Description copied from interface: SchemaSourceListener
      Invoked when a schema source is unregistered.
      Specified by:
      schemaSourceUnregistered in interface SchemaSourceListener
      Parameters:
      source - Schema source representation