Class JsonQueryEntitySchema
java.lang.Object
org.gcube.informationsystem.resourceregistry.queries.json.base.JsonQueryElement
org.gcube.informationsystem.resourceregistry.queries.json.base.standalone.JsonQueryEntitySchema
Translates a JSON query subtree representing an entity Type definition
(
ResourceSchema or FacetSchema).
Entity Type definitions are flat, standalone vertex records with no graph relations
to traverse relative to each other: always the entry point of the query, hence extending
JsonQueryElement directly rather than JsonQueryERElement.
- 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, encryptedTypeParameters, 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, unqueryableFields -
Constructor Summary
ConstructorsConstructorDescriptionJsonQueryEntitySchema(org.gcube.com.fasterxml.jackson.databind.JsonNode jsonQuery) Creates a newJsonQueryEntitySchemainstance 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, excludeEncrypted, generateAlias, getAlias, getAlias, getBreadcrumb, getChildrenBreadcrumb, getFieldOperand, getFieldReference, 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
-
JsonQueryEntitySchema
public JsonQueryEntitySchema(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 newJsonQueryEntitySchemainstance for the specified JSON query subtree.- Parameters:
jsonQuery- the JSON query node representing the entity Type 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
-