Package org.dspace.checker
Interface BitstreamDispatcher
- All Known Implementing Classes:
HandleDispatcher,IteratorDispatcher,LimitedCountDispatcher,LimitedDurationDispatcher,SimpleDispatcher
public interface BitstreamDispatcher
BitstreamDispatchers are strategy objects that hand bitstream ids out to workers. Implementations must be threadsafe.
The rationale behind the use of the Sentinel pattern (rather than the more traditional iterator pattern or a cursor c.f. java.sql.ResultSet): -
- To make it easy to make implementations thread safe - multithreaded invocation of the dispatchers is seen as a next step use case. In simple terms, this requires that a single method does all the work.
- Shouldn't an exception as the sentinel, as reaching the end of a loop is not an exceptional condition.
- Author:
- Jim Downing, Grace Carpenter, Nathan Sarr
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThis value should be returned bynext()to indicate that there are no more values. -
Method Summary
-
Field Details
-
SENTINEL
static final int SENTINELThis value should be returned bynext()to indicate that there are no more values.- See Also:
-
-
Method Details
-
next
Returns the next id for checking, or a sentinel value if there are no more to check.- Returns:
- the next bitstream id, or BitstreamDispatcher.SENTINEL if there isn't another value
- Throws:
SQLException- if database error
-