Class 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
    • Constructor Detail

      • QueryDescriptorLoader

        public QueryDescriptorLoader()
    • Method Detail

      • 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)