ExtractSchemaMap

This type class can be used to extract a SchemaMap from a self-describing schema.

The SchemaMap contains details about the schema itself that allow it to be identified.

An example input is:

  {
    "$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
    "description": "Schema for a user entity",
    "self": {
       "vendor": "com.vendor",
       "name": "user_entity",
       "format": "jsonschema",
       "version": "1-0-0"
    },
    "type": "object",
    "properties": {
       "id": {
         "type": "string"
       },
       "email": {
         "type": "string"
       }
    }
  }

where "self" contains information about the vendor, name, format and version of the schema and can be extracted as SchemaMap.

Type parameters:
E

Any schema that can include a reference to itself. It's mostly intended for JSON schema, but can also be something like Thrift, Map[String, String], etc.

class Object
trait Matchable
class Any

Value members

Abstract methods

def extractSchemaMap(entity: E): Either[ParseError, SchemaMap]

Try to extract SchemaMap from a self-describing schema entity.

Try to extract SchemaMap from a self-describing schema entity.