Interface SchemaSourceProvider<T extends SourceRepresentation>
- Type Parameters:
T
- Schema source representation type provided by this implementation
- All Known Implementing Classes:
AbstractSchemaSourceCache
,FilesystemSchemaSourceCache
,GuavaSchemaSourceCache
,SchemaSourceTransformer
,SoftSchemaSourceCache
,TextToIRTransformer
,YangTextSchemaContextResolver
,YinTextToDomTransformer
Schema source provider implementations take care of resolving a
SourceIdentifier
into a particular representation of the schema source. Examples of resolution include
fetching the source from an external source, opening a classpath resource, or similar.-
Method Summary
Modifier and TypeMethodDescription@NonNull ListenableFuture
<? extends T> getSource
(@NonNull SourceIdentifier sourceId) Returns a representation a for supplied YANG source identifier.
-
Method Details
-
getSource
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 fromSourceRepresentation.sourceId()
.Implementations are not required to provide constant behavior in time, notably this different invocation of this method may produce different results.
- Parameters:
sourceId
- source identifier- Returns:
- future source representation, if supplied YANG module is available
- Throws:
NullPointerException
- ifsourceIdentifier
is null
- If the source identifier specifies a revision, this method returns either a representation of that
particular revision or throw
-