Class QueryDescriptorLoader

java.lang.Object
org.apache.cayenne.map.QueryDescriptorLoader

public class QueryDescriptorLoader
extends Object
A builder that constructs Cayenne queries from abstract configuration information defined in cayenne-data-map*.dtd. This abstract builder supports values declared in the DTD, allowing subclasses to define their own Query creation logic.
Since:
4.0
  • Field Details

  • Constructor Details

    • QueryDescriptorLoader

      public QueryDescriptorLoader()
  • Method Details

    • buildQueryDescriptor

      public QueryDescriptor buildQueryDescriptor()
      Builds a Query object based on internal configuration information.
    • setName

      public void setName​(String name)
    • setLegacyFactory

      public void setLegacyFactory​(String factory)
      It's better be handled by project upgrade handler and actually it is. But upgrade logic is faulty when project is several versions away and can't be changed without complete upgrade system rewrite
      Parameters:
      factory - old style query factory class
    • setQueryType

      public void setQueryType​(String queryType)
    • getRoot

      protected Object getRoot()
      Determines query root based on configuration info, falls back to a DataMap root if the data is invalid.
      Throws:
      CayenneRuntimeException - if a valid root can't be established.
    • setResultEntity

      public void setResultEntity​(String resultEntity)
    • setRoot

      public void setRoot​(DataMap dataMap, String rootType, String rootName)
      Sets the information pertaining to the root of the query.
    • setEjbql

      public void setEjbql​(String ejbql)
    • addSql

      public void addSql​(String sql, String adapterClass)
      Adds raw sql. If adapterClass parameter is not null, sets the SQL string to be adapter-specific. Otherwise it is used as a default SQL string.
    • setQualifier

      public void setQualifier​(String qualifier)
    • addProperty

      public void addProperty​(String name, String value)
    • addOrdering

      public void addOrdering​(String path, String descending, String ignoreCase)
    • addPrefetch

      public void addPrefetch​(String path, int semantics)