Package org.apache.unomi.schema.api
Interface SchemaService
-
- All Known Implementing Classes:
SchemaServiceImpl
public interface SchemaServiceService that allow to manage JSON schema. It allows to get, save and delete schemas
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description booleandeleteSchema(String schemaId)Delete a schema according to its idSet<String>getInstalledJsonSchemaIds()Get the list of installed Json Schema IdsJsonSchemaWrappergetSchema(String schemaId)Get a schema matching by a schema idJsonSchemaWrappergetSchemaForEventType(String eventType)Get the schema that is able to validate the specific event typeList<JsonSchemaWrapper>getSchemasByTarget(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.booleanisValid(String data, String schemaId)Verify 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 memoryvoidrefreshJSONSchemas()Refresh the JSON schemasvoidsaveSchema(String schema)Save a new schema or update a schemabooleanunloadPredefinedSchema(InputStream schemaStream)Unload a predefined schema into memorySet<ValidationError>validateEvent(String event)perform a validation on the given eventMap<String,Set<ValidationError>>validateEvents(String events)perform a validation of a list of the given events
-
-
-
Method Detail
-
isValid
boolean isValid(String data, String schemaId)
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 boolean isEventValid(String event, String eventType)
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
boolean isEventValid(String event)
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
Set<ValidationError> validateEvent(String event) throws ValidationException
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
Map<String,Set<ValidationError>> validateEvents(String events) throws ValidationException
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
Set<String> getInstalledJsonSchemaIds()
Get the list of installed Json Schema Ids- Returns:
- A Set of JSON schema ids
-
getSchema
JsonSchemaWrapper getSchema(String schemaId)
Get a schema matching by a schema id- Parameters:
schemaId- Id of the schema- Returns:
- A JSON schema
-
getSchemasByTarget
List<JsonSchemaWrapper> getSchemasByTarget(String target)
Get a list aJsonSchemaWrapper- Parameters:
target- to filter the schemas- Returns:
- a list of JSONSchema
-
getSchemaForEventType
JsonSchemaWrapper getSchemaForEventType(String eventType) throws ValidationException
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
void saveSchema(String schema)
Save a new schema or update a schema- Parameters:
schema- as a String value
-
deleteSchema
boolean deleteSchema(String schemaId)
Delete a schema according to its id- Parameters:
schemaId- id of the schema to delete- Returns:
- true if the schema has been deleted
-
loadPredefinedSchema
void loadPredefinedSchema(InputStream schemaStream) throws IOException
Load a predefined schema into memory- Parameters:
schemaStream- inputStream of the schema- Throws:
IOException
-
unloadPredefinedSchema
boolean unloadPredefinedSchema(InputStream schemaStream)
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
-
-