Class JsonQueryPropertySchema
java.lang.Object
org.gcube.informationsystem.resourceregistry.queries.json.base.JsonQueryElement
org.gcube.informationsystem.resourceregistry.queries.json.base.standalone.JsonQueryPropertySchema
Translates a JSON query subtree representing a
PropertySchema definition.
PropertySchema definitions are persisted as plain OrientDB documents rather than
graph vertices/edges, but the MATCH engine still accepts a non-graph class as a
direct pattern entry point (verified empirically), so this class follows the exact same
flat/standalone shape as JsonQueryEntitySchema/JsonQueryRelationSchema rather
than requiring a different query mechanism.
- Author:
- Luca Frosini (ISTI - CNR)
-
Field Summary
Fields inherited from class org.gcube.informationsystem.resourceregistry.queries.json.base.JsonQueryElement
accessType, alias, BACKEND_LINK_FIELD_PREFIXES, BACKEND_LINK_FIELDS, BACKEND_TYPE_NAME_FIELD, breadcrumb, CREATED_BY_PATH, declaredPropertyResolver, ELEMENT_INDEX_PATTERN, entryPoint, FALSE_CONDITION, FIELD_NAME_PATTERN, fieldNamesToRemove, fieldsToEmit, IS_NULL, jsonNode, LAST_UPDATE_BY_PATH, logger, maskMetadata, objectMapper, operandValidator, OPERATOR_PREFIX, polymorphic, position, projection, queryParameterIndex, queryParameters, RECORD_ATTRIBUTE_PREFIX, size, type, TYPE_NAME_FIELD, unqueryableFields -
Constructor Summary
ConstructorsConstructorDescriptionJsonQueryPropertySchema(org.gcube.com.fasterxml.jackson.databind.JsonNode jsonQuery) Creates a newJsonQueryPropertySchemainstance for the specified JSON query subtree. -
Method Summary
Modifier and TypeMethodDescriptionprotected StringBuffergetSpecificMatchQuery(List<JsonQueryElement> childrenBreadcrumb) Generates the specific MATCH query snippet for this element's subclass (subclass hook).Methods inherited from class org.gcube.informationsystem.resourceregistry.queries.json.base.JsonQueryElement
addComparisonConstraint, addConstraints, addFieldToEmit, addLogicalConstraints, createMatchQuery, createQuery, evaluateNode, generateAlias, getAlias, getAlias, getBreadcrumb, getChildrenBreadcrumb, getFieldOperand, getFieldReference, getKey, getPosition, getPropertyDomain, getQueryParameters, getRequiredType, getScalarValue, getScalarValue, getType, getValue, isEntryPoint, isProjection, isSensitiveField, resolveFieldName, setBreadcrumb, setEntryPoint, setMaskMetadata, setPolymorphic, setPosition, setProjection, validateEmittedField, validateLogicalCondition, validateType, wrapMatchQuery
-
Constructor Details
-
JsonQueryPropertySchema
public JsonQueryPropertySchema(org.gcube.com.fasterxml.jackson.databind.JsonNode jsonQuery) throws org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException Creates a newJsonQueryPropertySchemainstance for the specified JSON query subtree.- Parameters:
jsonQuery- the JSON query node representing the PropertySchema definition- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException- if schema validation failsorg.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- on database or lookup error
-
-
Method Details
-
getSpecificMatchQuery
protected StringBuffer getSpecificMatchQuery(List<JsonQueryElement> childrenBreadcrumb) throws org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException Description copied from class:JsonQueryElementGenerates the specific MATCH query snippet for this element's subclass (subclass hook).- Specified by:
getSpecificMatchQueryin classJsonQueryElement- Parameters:
childrenBreadcrumb- the list of child query elements visited- Returns:
- the MATCH query snippet string buffer
- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException- if schema validation failsorg.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- on database error
-