net.corda.node.services.api

## Interface SchemaService

- All Known Implementing Classes:
    NodeSchemaService

      public SchemaService

  A configuration and customisation point for Object Relational Mapping of contract state objects.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `SchemaService.SchemaOptions` Represents any options configured on the node for a schema.

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `PersistentState` | `generateMappedObject(QueryableState state, MappedSchema schema)` Map a state to a `class PersistentState` for the given schema, either via direct support from the state or via custom logic in this service.
    `java.util.Map<net.corda.core.schemas.MappedSchema,net.corda.node.services.api.SchemaService.SchemaOptions>` | `getSchemaOptions()` Options configured for this node's schemas. A missing entry for a schema implies all properties are null.
    `java.lang.Iterable<net.corda.core.schemas.MappedSchema>` | `selectSchemas(QueryableState state)` Given a state, select schemas to map it to that are supported by generateMappedObject and that are configured for this node.

- - ### Method Detail

    - #### getSchemaOptions

          java.util.Map<net.corda.core.schemas.MappedSchema,net.corda.node.services.api.SchemaService.SchemaOptions> getSchemaOptions()

      Options configured for this node's schemas. A missing entry for a schema implies all properties are null.

    - #### selectSchemas

          java.lang.Iterable<net.corda.core.schemas.MappedSchema> selectSchemas(QueryableState state)

      Given a state, select schemas to map it to that are supported by generateMappedObject and that are configured for this node.

    - #### generateMappedObject

          PersistentState generateMappedObject(QueryableState state,
                                               MappedSchema schema)

      Map a state to a `class PersistentState` for the given schema, either via direct support from the state or via custom logic in this service.

      See Also:
        `class PersistentState`