Package io.apicurio.registry.resolver
Class AbstractSchemaResolver<S,T>
java.lang.Object
io.apicurio.registry.resolver.AbstractSchemaResolver<S,T>
- All Implemented Interfaces:
SchemaResolver<S,,T> Closeable,AutoCloseable
- Direct Known Subclasses:
DefaultSchemaResolver
Base implementation of
SchemaResolver- Author:
- Fabian Martinez, Jakub Senko m@jsenko.net, Carles Arnal
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ArtifactReferenceResolverStrategy<S,T> protected io.apicurio.rest.client.spi.ApicurioHttpClientprotected RegistryClientprotected DefaultSchemaResolverConfigprotected Stringprotected Stringprotected Stringprotected final ERCache<SchemaLookupResult<S>>protected SchemaParser<S,T> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidConfigure, if supported.protected voidloadFromArtifactMetaData(io.apicurio.registry.rest.v2.beans.ArtifactMetaData artifactMetadata, SchemaLookupResult.SchemaLookupResultBuilder<S> resultBuilder) protected voidloadFromArtifactMetaData(io.apicurio.registry.rest.v2.beans.VersionMetaData artifactMetadata, SchemaLookupResult.SchemaLookupResultBuilder<S> resultBuilder) voidreset()Hard reset cacheprotected StringresolveArtifactId(String artifactId, boolean isReference, String referenceArtifactId) protected ArtifactReferenceresolveArtifactReference(Record<T> data, ParsedSchema<S> parsedSchema, boolean isReference, String referenceArtifactId) Resolve an artifact reference for the given record, and optional parsed schema.protected Map<String,ParsedSchema<S>> resolveReferences(List<io.apicurio.registry.rest.v2.beans.ArtifactReference> artifactReferences) protected SchemaLookupResult<S>resolveSchemaByGlobalId(long globalId) voidsetArtifactResolverStrategy(ArtifactReferenceResolverStrategy<S, T> artifactResolverStrategy) voidsetClient(RegistryClient client) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.apicurio.registry.resolver.SchemaResolver
resolveSchema, resolveSchemaByArtifactReference
-
Field Details
-
schemaCache
-
config
-
schemaParser
-
client
-
authClient
protected io.apicurio.rest.client.spi.ApicurioHttpClient authClient -
artifactResolverStrategy
-
explicitArtifactGroupId
-
explicitArtifactId
-
explicitArtifactVersion
-
-
Constructor Details
-
AbstractSchemaResolver
public AbstractSchemaResolver()
-
-
Method Details
-
configure
Description copied from interface:SchemaResolverConfigure, if supported.- Specified by:
configurein interfaceSchemaResolver<S,T> - Parameters:
configs- the configs
-
setClient
- Specified by:
setClientin interfaceSchemaResolver<S,T> - Parameters:
client- the client to set
-
setArtifactResolverStrategy
public void setArtifactResolverStrategy(ArtifactReferenceResolverStrategy<S, T> artifactResolverStrategy) - Specified by:
setArtifactResolverStrategyin interfaceSchemaResolver<S,T> - Parameters:
artifactResolverStrategy- the artifactResolverStrategy to set
-
getSchemaParser
- Specified by:
getSchemaParserin interfaceSchemaResolver<S,T> - See Also:
-
resolveArtifactReference
protected ArtifactReference resolveArtifactReference(Record<T> data, ParsedSchema<S> parsedSchema, boolean isReference, String referenceArtifactId) Resolve an artifact reference for the given record, and optional parsed schema. This will use the artifact resolver strategy and then override the values from that strategy with any explicitly configured values (groupId, artifactId, version).- Parameters:
data-parsedSchema-isReference-- Returns:
- artifact reference
-
resolveArtifactId
-
resolveSchemaByGlobalId
-
resolveReferences
protected Map<String,ParsedSchema<S>> resolveReferences(List<io.apicurio.registry.rest.v2.beans.ArtifactReference> artifactReferences) -
reset
public void reset()Description copied from interface:SchemaResolverHard reset cache- Specified by:
resetin interfaceSchemaResolver<S,T> - See Also:
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException- See Also:
-
loadFromArtifactMetaData
protected void loadFromArtifactMetaData(io.apicurio.registry.rest.v2.beans.ArtifactMetaData artifactMetadata, SchemaLookupResult.SchemaLookupResultBuilder<S> resultBuilder) -
loadFromArtifactMetaData
protected void loadFromArtifactMetaData(io.apicurio.registry.rest.v2.beans.VersionMetaData artifactMetadata, SchemaLookupResult.SchemaLookupResultBuilder<S> resultBuilder)
-