com
package com
Package Members
- package snowplowanalytics
diff --git a/4.0.0-M2/com/index.html b/4.0.0-M2/com/index.html new file mode 100644 index 00000000..3bbae680 --- /dev/null +++ b/4.0.0-M2/com/index.html @@ -0,0 +1,2 @@ +
Default Iglu Central client, without cache
Umbrella entity, able to perform all necessary actions: +- resolve schema +- validate schema +- validate datum against the schema
Almost identical to pre-0.6.0 resolver +
(Since version 3.2.0) Use fromResolver(resolver, cacheSize, maxJsonDepth)
(Since version 3.2.0) Use parseDefault(json, maxJsonDepth)
Client using 'lookupSchemaResult' resolver method (as opposed to old client relying on plain lookupSchema
method)
+which enables validator taking advantage of caching.
+Should provide significant performance boost for the 'check' operation when called frequently.
+
Umbrella entity, able to perform all necessary actions: +- resolve schema +- validate schema +- validate datum against the schema
Umbrella entity, able to perform all necessary actions: +- resolve schema +- validate schema +- validate datum against the schema
Almost identical to pre-0.6.0 resolver +
Client using 'lookupSchemaResult' resolver method (as opposed to old client relying on plain lookupSchema
method)
+which enables validator taking advantage of caching.
Client using 'lookupSchemaResult' resolver method (as opposed to old client relying on plain lookupSchema
method)
+which enables validator taking advantage of caching.
+Should provide significant performance boost for the 'check' operation when called frequently.
+
Companion object.
Companion object. Lets us create a Resolver from a Json
Companion object.
Companion object. Lets us create a Resolver from a Json
The result of a lookup when the resolver is configured to use a cache
The timestamped value is helpful when the client code needs to perform an expensive +calculation derived from the looked-up value. If the timestamp has not changed since a +previous call, then the value is guaranteed to be the same as before, and the client code +does not need to re-run the expensive calculation. +
the looked-up value
epoch time in seconds of when the value was last cached by the resolver
the looked-up value
epoch time in seconds of when the value was last cached by the resolver
Companion object.
Companion object. Lets us create a Resolver from a Json
The result of a lookup when the resolver is not configured to use a cache
Companion object.
Companion object. Lets us create a Resolver from a Json
The result of a lookup when the resolver is configured to use a cache
The result of a lookup when the resolver is configured to use a cache
The timestamped value is helpful when the client code needs to perform an expensive +calculation derived from the looked-up value. If the timestamp has not changed since a +previous call, then the value is guaranteed to be the same as before, and the client code +does not need to re-run the expensive calculation. +
the looked-up value
epoch time in seconds of when the value was last cached by the resolver
The result of a lookup when the resolver is not configured to use a cache
Companion object.
Companion object. Lets us create a Resolver from a Json
The result of doing a lookup with the resolver, carrying information on whether the cache was used
Companion object.
Companion object. Lets us create a Resolver from a Json
The result of doing schema lookup +
Schema json
Superseding schema version if the schema is superseded by another schema. + Otherwise, it is None.
Schema json
Superseding schema version if the schema is superseded by another schema. + Otherwise, it is None.
Companion object.
Companion object. Lets us create a Resolver from a Json
Companion object. Lets us create a Resolver from a Json
The result of doing a lookup with the resolver, carrying information on whether the cache was used
The result of doing schema lookup +
The result of doing schema lookup +
Schema json
Superseding schema version if the schema is superseded by another schema. + Otherwise, it is None.
A Resolver which only looks at our embedded repo
Constructs a Resolver instance from an arg array +of RepositoryRefs.
Constructs a Resolver instance from an arg array +of RepositoryRefs. +
The size of the cache
Optional time to live for schemas
Any RepositoryRef to add to this resolver
a configured Resolver instance
Construct a pure resolver, working only with in-memory registries, no cache, no clock
Construct a Resolver instance from a Json *and* validates +against embedded schema (hence side-effect) +
Construct a Resolver instance from a Json *and* validates +against embedded schema (hence side-effect) +
The JSON containing the configuration + for this resolver
a configured Resolver instance
Tail-recursive function to find our schema in one of our repositories +
Tail-recursive function to find our schema in one of our repositories +
a function to get an entity from first registry
A List of repositories we have to look in + (not-tried yet or with non-404 error)
A Map of repositories with their accumulated errors + we have looked in fruitlessly so far
either a Success-boxed schema (as a Json), + or a Failure-boxing of Map of repositories with all their + accumulated errors
Resolves schemas from one or more Iglu schema registries
Get list of full self-describing schemas available on Iglu Server for particular vendor/name pair
Get list of available schemas for particular vendor and name part +Server supposed to return them in proper order +
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
+from listSchemas
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.
+
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
+from listSchemas
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.
+
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
+
Get list of available schemas for particular vendor and name part +Server supposed to return them in proper order +
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 +
The SchemaKey uniquely identifying the schema in Iglu
a Validation boxing either the Schema's + Json on Success, or an error String + on Failure
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 +
The SchemaKey uniquely identifying the schema in Iglu
Specify whether superseding schema version should be taken into account
a Resolver.ResolverResult boxing the schema Json on success, or a ResolutionError on failure
The variant of lookupSchemasUntilResult that returns the result +that isn't wrapped with ResolverResult +
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.
+
The SchemaKey until which schemas of the same model should get returned
All the schemas if all went well, Resolver.SchemaResolutionError with the first error that happened + while looking up the schemas if something went wrong.
Caches and returns the given schema.
Caches and returns the given schema. +If new value is a failure, but cached is success - return cached value in order +to avoid invalidating entity due registry outage +If new value is a failure, but cached is success - update TTL in order +to avoid flooding poorly behaving registry +Also responsible for combining failures +
iglu URI that has been requested
response from registries, either failure details or schema
the same result or cached one if it was more appropriate
Resolver cache and associated logic to (in)validate entities, +based on TTL and registry responses (failure/success)
Looks up the given schema key in the cache, respecting TTL +
Looks up the given schema key in the cache, respecting TTL +
The SchemaKey uniquely identifying + the schema in Iglu
the schema if found as Some Json or None + if not found, or cache is not enabled.
Lookup a SchemaList
, no TTL is available
Caches and returns the given schema.
Caches and returns the given schema. +If new value is a failure, but cached is success - return cached value in order +to avoid invalidating entity due registry outage +If new value is a failure, but cached is success - update TTL in order +to avoid flooding poorly behaving registry +Also responsible for combining failures +
iglu URI that has been requested
response from registries, either failure details or schema
the same result or cached one if it was more appropriate
Put a SchemaList
result into a cache
Single entry stored in the cache.
Single entry stored in the cache. +Entry consists of the time item has been stored and the item itself. +
Cache entry for schema list lookup results
Key to identify stored schema list in the cache.
Key to identify stored schema list in the cache. +Consists of the schema's vendor, name and model +
Validated schema list lookup result containing, cache result which is +Json in case of success or Map of all currently failed repositories +in case of failure +
Map of all repositories to its aggregated state of failure
+None as value means repository already responded with not-found
,
+meaning all previous 500-like failures could probably been discarded
+
Schema's model
Schema's name
Resolves schemas from one or more Iglu schema registries
Resolver cache and associated logic to (in)validate entities, +based on TTL and registry responses (failure/success)
Cache entry for schema lookup results
Cache entry for schema content list lookup results
Validated schema content list lookup result containing, cache result +which is list of self describing schemas in case of success or +Map of all currently failed repositories in case of failure +
Validated schema lookup result containing, cache result which is +Json in case of success or Map of all currently failed repositories +in case of failure +
Indicates the moment in time when item has been stored in the cache
Time to live for cached items
Schema's vendor
Companion object.
Companion object. Lets us create a Resolver from a Json
Common config for RepositoryRef classes
Helper to check if this repository should take priority because of a +vendor prefix match.
Helper to check if this repository should take priority because of a +vendor prefix match. Returns true if we matched our schema's vendor +in the list of vendor prefixes. +
a schema's vendor to find among specified in resolver
whether this is a priority lookup or not
An embedded repository is one which is embedded inside the calling code, +e.g. inside the jar's resources folder +
All repositories with a search priority of +1 will be checked before any repository with a search priority of 2 +
Our configuration for this RepositoryRef
HTTP repository, such as Iglu Server or Iglu Central
All repositories with a search priority of +1 will be checked before any repository with a search priority of 2 +
Our configuration for this RepositoryRef
Helper class to extract HTTP URI and api key from config JSON
Repository where all schemas provided on initialization time
All repositories with a search priority of +1 will be checked before any repository with a search priority of 2 +
Our configuration for this RepositoryRef
Common config for RepositoryRef classes
An embedded repository is one which is embedded inside the calling code, +e.g.
An embedded repository is one which is embedded inside the calling code, +e.g. inside the jar's resources folder +
HTTP repository, such as Iglu Server or Iglu Central
Helper class to extract HTTP URI and api key from config JSON
Repository where all schemas provided on initialization time
Primary, public Snowplow-supported Iglu Registry
Builds a RepositoryRef sub-type from the given a Json.
Builds a RepositoryRef sub-type from the given a Json. +Uses the connection property to determine which RepositoryRef to build
Currently supports: +1. EmbeddedRepositoryRef +2. HttpRepositoryRef +
The JSON containing the configuration for this repository
our constructed RepositoryRef
ADT supporting all native (from resolver-config) registries
All repositories with a search priority of +1 will be checked before any repository with a search priority of 2 +
Our configuration for this RepositoryRef
com.snowplowanalytics.iglu.client.resolver.registries
A capability of F
to communicate with Iglu registries, using RepositoryRef
ADT,
+in order to lookup for schemas or get schema lists
+
effect type, preferably referentially-transparent, but can be Id
+ in case of distributed engine like Spark
List all schemas (formats and versions) for a given vendor/name pair in their +chronological order.
List all schemas (formats and versions) for a given vendor/name pair in their +chronological order. It is up to Registry to build valid list +
one of supported repository types (only HTTP is supported)
precise schema vendor
schema name
some parsed SchemaList
(order is trusted) or none in any unexpected case
Find a schema in the particular RepositoryRef
+
Find a schema in the particular RepositoryRef
+
one of supported repository types
The SchemaKey uniquely identifying the schema in Iglu
either schema parsed into Json
or RegistryError
, such as absent schema,
+ or unexpected response
ADT supporting all native (from resolver-config) registries
A capability of F
to communicate with Iglu registries, using RepositoryRef
ADT,
+in order to lookup for schemas or get schema lists
+
A capability of F
to communicate with Iglu registries, using RepositoryRef
ADT,
+in order to lookup for schemas or get schema lists
+
effect type, preferably referentially-transparent, but can be Id
+ in case of distributed engine like Spark
Validate JSON Schema against it's own Schema
+Errors like empty required
property or minimum
property containing string
+will be catched
+
Validate JSON Schema against it's own Schema
+Errors like empty required
property or minimum
property containing string
+will be catched
+
Main method, validating _non-self-describing_ instance
Main method, validating _non-self-describing_ instance
Get validation errors for Schema
+Errors like empty required
property or minimum
property containing string
+will be catched
+
Get validation errors for Schema
+Errors like empty required
property or minimum
property containing string
+will be catched
+
JSON Schema
list of Processing Messages with log level above warning
(Since version 3.2.0) Use checkSchema(schema, maxJsonDepth)
Get validation errors for Schema
+Errors like empty required
property or minimum
property containing string
+will be catched
+
Get validation errors for Schema
+Errors like empty required
property or minimum
property containing string
+will be catched
+
JSON Schema
list of Processing Messages with log level above warning
Main method, validating _non-self-describing_ instance
Validate JSON Schema against it's own Schema
+Errors like empty required
property or minimum
property containing string
+will be catched
+
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
A hack to overcome https://github.com/circe/circe-jackson/issues/65
Converts given circe's Json instance to Jackson's JsonNode +Numbers with exponents exceeding Integer.MAX_VALUE are converted to strings
Converts given circe's Json instance to Jackson's JsonNode +Numbers with exponents exceeding Integer.MAX_VALUE are converted to strings
instance of circe's Json
converted JsonNode
(Since version 3.2.0) Use circeToJackson(json, maxJsonDepth)