final case class Resolver[F[_]](repos: List[Registry], cache: Option[ResolverCache[F]]) extends Product with Serializable
Resolves schemas from one or more Iglu schema registries
- Alphabetic
- By Inheritance
- Resolver
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Resolver(repos: List[Registry], cache: Option[ResolverCache[F]])
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val cache: Option[ResolverCache[F]]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def fetchSchemas(vendor: Vendor, name: Name, model: Model)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): EitherT[F, ResolutionError, List[SelfDescribingSchema[Json]]]
Get list of full self-describing schemas available on Iglu Server for particular vendor/name pair
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def listSchemas(vendor: Vendor, name: Name, model: Model)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[ResolutionError, SchemaList]]
Get list of available schemas for particular vendor and name part Server supposed to return them in proper order
- def listSchemasLike(schemaKey: SchemaKey)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[ResolutionError, SchemaList]]
Vendor, name, model are extracted from supplied schema key to call on the
listSchemas
.Vendor, name, model are extracted from supplied schema key to call on the
listSchemas
. The important difference fromlistSchemas
is that it would invalidate cache, if returned list did not contain SchemaKey supplied in argument. Making it a safer option is latest schema bound is known. - def listSchemasLikeResult(schemaKey: SchemaKey)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[ResolutionError, SchemaListLookupResult]]
Vendor, name, model are extracted from supplied schema key to call on the
listSchemas
.Vendor, name, model are extracted from supplied schema key to call on the
listSchemas
. The important difference fromlistSchemas
is that it would invalidate cache, if returned list did not contain SchemaKey supplied in argument. Making it a safer option is latest schema bound is known. - def listSchemasResult(vendor: Vendor, name: Name, model: Model, mustIncludeKey: Option[SchemaKey] = None)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[ResolutionError, SchemaListLookupResult]]
Get list of available schemas for particular vendor and name part Has an extra argument
mustIncludeKey
which is used to invalidate cache if SchemaKey supplied in it is not in the list.Get list of available schemas for particular vendor and name part Has an extra argument
mustIncludeKey
which is used to invalidate cache if SchemaKey supplied in it is not in the list. Server supposed to return them in proper order - def listSchemasResult(vendor: Vendor, name: Name, model: Model)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[ResolutionError, SchemaListLookupResult]]
Get list of available schemas for particular vendor and name part Server supposed to return them in proper order
- def lookupSchema(schemaKey: SchemaKey)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[ResolutionError, Json]]
Tries to find the given schema in any of the provided repository refs If any of repositories gives non-non-found error, lookup will retried
Tries to find the given schema in any of the provided repository refs If any of repositories gives non-non-found error, lookup will retried
- schemaKey
The SchemaKey uniquely identifying the schema in Iglu
- returns
a Validation boxing either the Schema's Json on Success, or an error String on Failure
- def lookupSchemaResult(schemaKey: SchemaKey, resolveSupersedingSchema: Boolean = false)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[ResolutionError, SchemaLookupResult]]
Tries to find the given schema in any of the provided repository refs If any of repositories gives non-non-found error, lookup will retried
Tries to find the given schema in any of the provided repository refs If any of repositories gives non-non-found error, lookup will retried
- schemaKey
The SchemaKey uniquely identifying the schema in Iglu
- resolveSupersedingSchema
Specify whether superseding schema version should be taken into account
- returns
a Resolver.ResolverResult boxing the schema Json on success, or a ResolutionError on failure
- def lookupSchemasUntil(maxSchemaKey: SchemaKey)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[SchemaResolutionError, NonEmptyList[SelfDescribingSchema[Json]]]]
The variant of lookupSchemasUntilResult that returns the result that isn't wrapped with ResolverResult
- def lookupSchemasUntilResult(maxSchemaKey: SchemaKey)(implicit F: Monad[F], L: RegistryLookup[F], C: Clock[F]): F[Either[SchemaResolutionError, SchemaContentListLookupResult]]
Looks up all the schemas with the same model until
maxSchemaKey
.Looks up all the schemas with the same model until
maxSchemaKey
. For the schemas of previous revisions, it starts with addition = 0 and increments it until a NotFound.- maxSchemaKey
The SchemaKey until which schemas of the same model should get returned
- returns
All the schemas if all went well, Resolver.SchemaResolutionError with the first error that happened while looking up the schemas if something went wrong.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def productIterator: Iterator[Any]
- Definition Classes
- Product
- val repos: List[Registry]
- def resolutionErrorToFailureMap(resolutionError: SchemaResolutionError): LookupFailureMap
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated