public static interface

SelectQuery.ExecutionContext

com.atlassian.jira.entity.SelectQuery.ExecutionContext<E>
Known Indirect Subclasses

Class Overview

The parser context for entity engine Select queries that is available after calling runWith(EntityEngine) or runWith(com.atlassian.jira.ofbiz.OfBizDelegator).

The methods available through the execution context specify how the selected entities should be returned to the caller. For example, asList() will return a list of values, or count() will return only a count of them.

Summary

Public Methods
@Nonnull <R> List<R> asList(Function<E, R> mappingFunction)
Returns the selected values in a list with the mapping function applied to each of them.
@Nonnull List<E> asList()
Returns the selected values in a list.
<R> R consumeWith(EntityListConsumer<E, R> consumer)
Apply an EntityListConsumer to the returned results.
long count()
Returns a count of matching items.
@Nullable E singleValue()
Returns the single Entity that is the result of this query.
void visitWith(Visitor<E> visitor)
Visits each entity returned by the query.

Public Methods

@Nonnull public List<R> asList (Function<E, R> mappingFunction)

Returns the selected values in a list with the mapping function applied to each of them. For example, if mappingFunction is a Function&lt;GenericValue,String&gt;, then each value is returned as the String produced by the function instead of the GenericValue itself.

Returns
  • the selected values as a list of the yielded values.

@Nonnull public List<E> asList ()

Returns the selected values in a list.

Returns
  • the selected values in a list.

public R consumeWith (EntityListConsumer<E, R> consumer)

Apply an EntityListConsumer to the returned results.

This is equivalent to calling visitWith(Visitor), except that the entity list consumer can return a value.

Parameters
consumer the entity list consumer that will consume the query results
Returns
  • the result returned by the consumer's result() method.

public long count ()

Returns a count of matching items. Note that this does not go through the the entityName + "Count" pseudo-view stuff in the entity model, but rather generates a count function directly in the query that it executes, so you should be able to use it with arbitrary entities.

Returns
  • count of matching items

@Nullable public E singleValue ()

Returns the single Entity that is the result of this query.

Will return null if no rows were returned by the DB query.

Returns
  • the single matching value, or null if no match is found.
Throws
IllegalStateException if more than one row is found.

public void visitWith (Visitor<E> visitor)

Visits each entity returned by the query.

This is equivalent to calling consumeWith(EntityListConsumer) and ignoring the return value.

Parameters
visitor the visitor to call with each entity that the query returns