Package org.apache.unomi.schema.api
Interface SchemaService
- All Known Implementing Classes:
SchemaServiceImpl
public interface SchemaService
Service that allow to manage JSON schema. It allows to get, save and delete schemas
-
Method Summary
Modifier and TypeMethodDescriptionbooleandeleteSchema(String schemaId) Delete a schema according to its idGet the list of installed Json Schema IdsGet a schema matching by a schema idgetSchemaForEventType(String eventType) Get the schema that is able to validate the specific event typegetSchemasByTarget(String target) Get a list aJsonSchemaWrapperbooleanisEventValid(String event) Verify if the event is valid (This method is fail safe, if unexpected errors happens it will returns false)booleanisEventValid(String event, String eventType) Deprecated.booleanVerify if a jsonNode is valid against a schema (This method is fail safe, if unexpected errors happens it will returns false)voidloadPredefinedSchema(InputStream schemaStream) Load a predefined schema into memoryvoidRefresh the JSON schemasvoidsaveSchema(String schema) Save a new schema or update a schemabooleanunloadPredefinedSchema(InputStream schemaStream) Unload a predefined schema into memoryvalidateEvent(String event) perform a validation on the given eventvalidateEvents(String events) perform a validation of a list of the given events
-
Method Details
-
isValid
Verify if a jsonNode is valid against a schema (This method is fail safe, if unexpected errors happens it will returns false)- Parameters:
data- to validateschemaId- id of the schema used for the validation- Returns:
- true is the object is valid, false otherwise, false also in case of unexpected errors !
-
isEventValid
Deprecated.Deprecate (since 2.2.0). the eventType is now directly extracted from the event source You can directly use sibling function: isEventValid(String event) -
isEventValid
Verify if the event is valid (This method is fail safe, if unexpected errors happens it will returns false)- Parameters:
event- the event to check validity- Returns:
- true is the event is valid, false otherwise, false also in case of unexpected errors !
-
validateEvent
perform a validation on the given event- Parameters:
event- the event to validate- Returns:
- The list of validation errors in case there is some, empty list otherwise
- Throws:
ValidationException- in case something goes wrong and validation could not be performed.
-
validateEvents
perform a validation of a list of the given events- Parameters:
events- the events to validate- Returns:
- The Map of validation errors group per event type in case there is some, empty map otherwise
- Throws:
ValidationException- in case something goes wrong and validation could not be performed.
-
getInstalledJsonSchemaIds
Get the list of installed Json Schema Ids- Returns:
- A Set of JSON schema ids
-
getSchema
Get a schema matching by a schema id- Parameters:
schemaId- Id of the schema- Returns:
- A JSON schema
-
getSchemasByTarget
Get a list aJsonSchemaWrapper- Parameters:
target- to filter the schemas- Returns:
- a list of JSONSchema
-
getSchemaForEventType
Get the schema that is able to validate the specific event type- Parameters:
eventType- the eventType- Returns:
- The JSON Schema able to validate the given event type or null if not found.
- Throws:
ValidationException
-
saveSchema
Save a new schema or update a schema- Parameters:
schema- as a String value
-
deleteSchema
Delete a schema according to its id- Parameters:
schemaId- id of the schema to delete- Returns:
- true if the schema has been deleted
-
loadPredefinedSchema
Load a predefined schema into memory- Parameters:
schemaStream- inputStream of the schema- Throws:
IOException
-
unloadPredefinedSchema
Unload a predefined schema into memory- Parameters:
schemaStream- inputStream of the schema to delete- Returns:
- true if the schema has been deleted
-
refreshJSONSchemas
void refreshJSONSchemas()Refresh the JSON schemas
-