com.atlassian.jira.entity
Interface EntityListConsumer<E,R>

Type Parameters:
E - the entity type yielded by the query, as determined by which Select factory method was used
R - the result type that the consumer will return once all entities have been accepted

public interface EntityListConsumer<E,R>

Provide an entity list consumer to SelectQuery.ExecutionContext.consumeWith(EntityListConsumer) to accept a stream of results from the entity engine.

Note that use of this interface is not sufficient to guarantee streaming behaviour on all database types. Some implementations (MySQL and Postgres in particular) have special requirements regarding transaction state and fetch size to make that work. If you need an example of how to do this, see DefaultSaxEntitiesExporter.

Since:
v5.2

Method Summary
 void consume(E entity)
          Called by the entity engine so that the entity yielded by the query may be accepted and processed by the consumer.
 R result()
          Called by the entity engine to obtain the return value after all entities have been consumed.
 

Method Detail

consume

void consume(E entity)
Called by the entity engine so that the entity yielded by the query may be accepted and processed by the consumer.

Parameters:
entity - the entity yielded by the select query

result

R result()
Called by the entity engine to obtain the return value after all entities have been consumed. Implementations may assume that this will be called exactly once and that consume(Object) will not be called again afterwards.

Returns:
the result of consuming the entities


Copyright © 2002-2014 Atlassian. All Rights Reserved.