Package io.github.qishr.cascara.schema.util
Interface SchemaResolver
java.lang.Object
io.github.qishr.cascara.schema.util.SchemaResolver
All Implemented Interfaces:
ServiceProvider
All Known Implementing Classes:
SchemaResolverImpl
public interface SchemaResolver
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
| public abstract Schema | getSchema(URI uri) | Returns the Schema indicated by the given URI. |
| public abstract SchemaNode | resolve(String ref, SchemaNode relativeTo) | |
| public abstract Schema | getSchemaForClass(Class<?> clazz) | |
| public abstract Schema | getSchemaForClass(Class<?> clazz, List<TypeAnalyzer> typeAnalyzers) | |
| public abstract SchemaNode | resolve(String ref, SchemaNode relativeTo, DynamicScope scope) | |
| public abstract DynamicScope | getCurrentScope() | |
| public abstract void | registerSchema(URI uri, Schema compiled) | |
| public abstract void | registerSchemaNode(URI uri, SchemaNode node) | |
| public abstract Map<URI, Schema> | getCachedSchemas() |
Method Details
getSchema
public abstract Schema getSchema(URI uri)
Returns the Schema indicated by the given URI.If the Schema is cached, it will be retrieved from the cache,
otherwise it will be compiled and returned.
Throws:
resolve
public abstract SchemaNode resolve(String ref, SchemaNode relativeTo)
Throws:
getSchemaForClass
public abstract Schema getSchemaForClass(Class<?> clazz)
getSchemaForClass
public abstract Schema getSchemaForClass(Class<?> clazz, List<TypeAnalyzer> typeAnalyzers)
resolve
public abstract SchemaNode resolve(String ref, SchemaNode relativeTo, DynamicScope scope)
Throws:
getCurrentScope
public abstract DynamicScope getCurrentScope()
registerSchema
public abstract void registerSchema(URI uri, Schema compiled)
registerSchemaNode
public abstract void registerSchemaNode(URI uri, SchemaNode node)
getCachedSchemas
public abstract Map<URI, Schema> getCachedSchemas()