Package org.apache.cayenne.map

## Class SelectQueryDescriptor

- java.lang.Object
- - org.apache.cayenne.map.QueryDescriptor
  - - org.apache.cayenne.map.SelectQueryDescriptor

- All Implemented Interfaces:
    `Serializable`, `ConfigurationNode`, `XMLSerializable`

      public class SelectQueryDescriptor
      extends QueryDescriptor

  Since:
    4.0
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected List<Ordering>` | `orderings` |
    `protected Map<String,​Integer>` | `prefetchesMap` |
    `protected Expression` | `qualifier` |

    - ### Fields inherited from class org.apache.cayenne.map.QueryDescriptor

      `DATA_MAP_ROOT, dataMap, DB_ENTITY_ROOT, EJBQL_QUERY, JAVA_CLASS_ROOT, name, OBJ_ENTITY_ROOT, PROCEDURE_QUERY, PROCEDURE_ROOT, properties, root, SELECT_QUERY, SQL_TEMPLATE, type`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SelectQueryDescriptor()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addOrdering​(Ordering ordering)` | Adds single ordering for this query.
    `void` | `addPrefetch​(String prefetchPath)` | Deprecated. since 4.1 use `addPrefetch(String, int)`
    `void` | `addPrefetch​(String prefetchPath, int semantics)` | Adds prefetch path with semantics to this query.
    `SelectQuery<?>` | `buildQuery()` | Assembles Cayenne query instance of appropriate type from this descriptor.
    `void` | `encodeAsXML​(XMLEncoder encoder, ConfigurationNodeVisitor delegate)` | Prints itself as XML to the provided XMLEncoder.
    `List<Ordering>` | `getOrderings()` | Returns list of orderings for this query.
    `List<String>` | `getPrefetches()` | Deprecated. since 4.1 use `getPrefetchesMap()`.
    `Map<String,​Integer>` | `getPrefetchesMap()` | Returns map of prefetch paths with semantics for this query.
    `Expression` | `getQualifier()` | Returns qualifier of this query.
    `boolean` | `isDistinct()` |
    `void` | `removeOrdering​(Ordering ordering)` | Removes single ordering from this query.
    `void` | `removePrefetch​(String prefetchPath)` | Removes single prefetch path from this query.
    `void` | `setDistinct​(boolean value)` |
    `void` | `setOrderings​(List<Ordering> orderings)` | Sets list of orderings for this query.
    `void` | `setPrefetches​(List<String> prefetches)` | Deprecated. since 4.1 use `setPrefetchesMap(HashMap)`.
    `void` | `setPrefetchesMap​(HashMap<String,​Integer> prefetchesMap)` | Sets map of prefetch paths with semantics for this query.
    `void` | `setQualifier​(Expression qualifier)` | Sets qualifier for this query.

    - ### Methods inherited from class org.apache.cayenne.map.QueryDescriptor

      `acceptVisitor, descriptor, ejbqlQueryDescriptor, getDataMap, getName, getProperties, getProperty, getRoot, getType, procedureQueryDescriptor, selectQueryDescriptor, setDataMap, setName, setProperties, setProperty, setRoot, setType, sqlTemplateDescriptor`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### qualifier

          protected Expression qualifier

    - #### orderings

          protected List<Ordering> orderings

    - #### prefetchesMap

          protected Map<String,​Integer> prefetchesMap

  - ### Constructor Detail

    - #### SelectQueryDescriptor

          public SelectQueryDescriptor()

  - ### Method Detail

    - #### setDistinct

          public void setDistinct​(boolean value)

    - #### isDistinct

          public boolean isDistinct()

    - #### getQualifier

          public Expression getQualifier()

      Returns qualifier of this query.

    - #### setQualifier

          public void setQualifier​(Expression qualifier)

      Sets qualifier for this query.

    - #### getOrderings

          public List<Ordering> getOrderings()

      Returns list of orderings for this query.

    - #### setOrderings

          public void setOrderings​(List<Ordering> orderings)

      Sets list of orderings for this query.

    - #### addOrdering

          public void addOrdering​(Ordering ordering)

      Adds single ordering for this query.

    - #### removeOrdering

          public void removeOrdering​(Ordering ordering)

      Removes single ordering from this query.

    - #### getPrefetchesMap

          public Map<String,​Integer> getPrefetchesMap()

      Returns map of prefetch paths with semantics for this query.
      Since:
        4.1

    - #### getPrefetches

          @Deprecated
          public List<String> getPrefetches()

      Deprecated.
      since 4.1 use `getPrefetchesMap()`.
      Returns list of prefetch paths for this query.

    - #### setPrefetchesMap

          public void setPrefetchesMap​(HashMap<String,​Integer> prefetchesMap)

      Sets map of prefetch paths with semantics for this query.
      Since:
        4.1

    - #### setPrefetches

          @Deprecated
          public void setPrefetches​(List<String> prefetches)

      Deprecated.
      since 4.1 use `setPrefetchesMap(HashMap)`.
      Sets list of prefetch paths for this query.

    - #### addPrefetch

          public void addPrefetch​(String prefetchPath,
                                  int semantics)

      Adds prefetch path with semantics to this query.
      Since:
        4.1

    - #### addPrefetch

          @Deprecated
          public void addPrefetch​(String prefetchPath)

      Deprecated.
      since 4.1 use `addPrefetch(String, int)`
      Adds single prefetch path to this query.

    - #### removePrefetch

          public void removePrefetch​(String prefetchPath)

      Removes single prefetch path from this query.

    - #### buildQuery

          public SelectQuery<?> buildQuery()

      Description copied from class: `QueryDescriptor`
      Assembles Cayenne query instance of appropriate type from this descriptor.
      Overrides:
        `buildQuery` in class `QueryDescriptor`

    - #### encodeAsXML

          public void encodeAsXML​(XMLEncoder encoder,
                                  ConfigurationNodeVisitor delegate)

      Description copied from interface: `XMLSerializable`
      Prints itself as XML to the provided XMLEncoder.
      Specified by:
        `encodeAsXML` in interface `XMLSerializable`
      Overrides:
        `encodeAsXML` in class `QueryDescriptor`