public class JsonQueryIsRelatedTo extends JsonQueryRelation
Translates a JSON query subtree representing an IsRelatedTo relation.
Author:
Luca Frosini (ISTI - CNR)
  • Field Details

    • requestedResourceType

      protected String requestedResourceType
      The requested resource schema type.
  • Constructor Details

    • JsonQueryIsRelatedTo

      public JsonQueryIsRelatedTo(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 new JsonQueryIsRelatedTo instance for the specified JSON query subtree.
      Parameters:
      jsonQuery - the JSON query node
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException - if schema validation fails
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException - on database or lookup error
  • Method Details

    • getRequestedResourceType

      public String getRequestedResourceType()
      Returns the requested resource schema type.
      Returns:
      the requested resource schema type
    • setRequestedResourceType

      public void setRequestedResourceType(String requestedResourceType)
      Sets the requested resource schema type.
      Parameters:
      requestedResourceType - the requested resource schema type to set
    • setDirectionByJson

      public void setDirectionByJson() throws org.gcube.informationsystem.resourceregistry.api.exceptions.queries.InvalidQueryException
      Sets the traversal direction of this relation based on the source/target properties in the JSON node.
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.queries.InvalidQueryException - if the JSON structure is invalid or has contradictory properties
    • setDirectionByJson

      public void setDirectionByJson(boolean matchQuery) throws org.gcube.informationsystem.resourceregistry.api.exceptions.queries.InvalidQueryException
      Sets the traversal direction of this relation based on the source/target properties in the JSON node, optionally taking into account whether it's a MATCH query.
      Parameters:
      matchQuery - true if it is a MATCH query, false otherwise
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.queries.InvalidQueryException - if the JSON structure is invalid or has contradictory properties
    • 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: JsonQueryElement
      Generates the specific MATCH query snippet for this element's subclass (subclass hook).
      Specified by:
      getSpecificMatchQuery in class JsonQueryElement
      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 fails
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException - on database error