Class QueryChain

  • All Implemented Interfaces:
    Serializable, Query

    public class QueryChain
    extends Object
    implements Query
    A Query decorator for a collection of other queries. Note that QueryChain will always return DataRows (that is if it returns data), as it has no way of knowing how to convert the results to objects.
    See Also:
    Serialized Form
    • Constructor Detail

      • QueryChain

        public QueryChain()
        Creates an empty QueryChain.
      • QueryChain

        public QueryChain​(Query[] queries)
        Creates a new QueryChain out of an array of queries.
      • QueryChain

        public QueryChain​(Collection<? extends Query> queries)
        Creates a new QueryChain with a collection of Queries.
    • Method Detail

      • addQuery

        public void addQuery​(Query query)
        Adds a query to the chain.
      • removeQuery

        public boolean removeQuery​(Query query)
        Removes a query from the chain, returning true if the query was indeed present in the chain and was removed.
      • isEmpty

        public boolean isEmpty()
      • route

        public void route​(QueryRouter router,
                          EntityResolver resolver,
                          Query substitutedQuery)
        Delegates routing to each individual query in the chain. If there is no queries, this method does nothing.
        Specified by:
        route in interface Query
      • createSQLAction

        public SQLAction createSQLAction​(SQLActionVisitor visitor)
        Throws an exception as execution should've been delegated to the queries contained in the chain.
        Specified by:
        createSQLAction in interface Query