public abstract class EventLogLoader
extends java.lang.Object
implements java.util.Iterator<ome.model.meta.EventLog>, java.lang.Iterable<ome.model.meta.EventLog>, org.springframework.context.ApplicationListener
FullTextIndexer which provides an
Iterator interface for EventLog instances to be properly
indexed. Also supports the concept of batches. After batchSize
queries,| Modifier and Type | Field and Description |
|---|---|
protected int |
batchSize |
static int |
DEFAULT_BATCH_SIZE
Currently 100.
|
protected java.util.List<java.lang.String> |
excludes
Array of class types which will get excluded from indexing.
|
protected org.slf4j.Logger |
log |
protected java.lang.String |
query
Query string to be kept in sync with
excludes. |
protected ome.api.IQuery |
queryService |
| Constructor and Description |
|---|
EventLogLoader() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addEventLog(java.lang.Class<? extends ome.model.IObject> cls,
long id)
Adds an
EventLog for the given Class and id to the
backlog. |
int |
getBatchSize() |
boolean |
hasNext()
Tests for available objects.
|
boolean |
isStopSet()
Returns true if the stop flag has been set on this instance.
|
java.util.Iterator<ome.model.meta.EventLog> |
iterator() |
ome.model.meta.EventLog |
lastEventLog() |
abstract long |
more()
Should return an estimate of how many more
EventLog instances are
available for processing. |
ome.model.meta.EventLog |
next()
|
ome.model.meta.EventLog |
nextEventLog(long id)
Returns the
EventLog with the next id after the given argument or
null if none exists. |
void |
onApplicationEvent(org.springframework.context.ApplicationEvent arg0) |
protected abstract ome.model.meta.EventLog |
query() |
void |
remove() |
void |
rollback(ome.model.meta.EventLog el) |
void |
setBatchSize(int batchSize)
Set the number of
EventLog instances will be loaded in a single
run. |
void |
setExcludes(java.lang.String[] excludes)
Spring injector
|
void |
setQueryService(ome.api.IQuery queryService)
Spring injector
|
void |
setStop(boolean stop)
Called by controlling objects (a worker thread) in order
to free up the thread.
|
protected final org.slf4j.Logger log
public static final int DEFAULT_BATCH_SIZE
protected int batchSize
protected java.util.List<java.lang.String> excludes
protected java.lang.String query
excludes.initQueryString()protected ome.api.IQuery queryService
public void setBatchSize(int batchSize)
EventLog instances will be loaded in a single
run. If not set, DEFAULT_BATCH_SIZE will be used.batchSize - public int getBatchSize()
public void setExcludes(java.lang.String[] excludes)
public void setQueryService(ome.api.IQuery queryService)
public boolean hasNext()
count is -1, then this batch has
ended (set in next()) and false will be returned,
EventBacklog will be ready to be switched over to an "adding"
state if empty, andcount is also reset so further calls can
finish normally; otherwise query() is called to load a new
eventLog. Otherwise, just tests that field for null.hasNext in interface java.util.Iterator<ome.model.meta.EventLog>public ome.model.meta.EventLog next()
log instance which may be loaded by a call
to hasNext() if necessary. If hasNext() returns false,
a NoSuchElementException will be thrown.next in interface java.util.Iterator<ome.model.meta.EventLog>public final void remove()
remove in interface java.util.Iterator<ome.model.meta.EventLog>public void rollback(ome.model.meta.EventLog el)
protected abstract ome.model.meta.EventLog query()
public java.util.Iterator<ome.model.meta.EventLog> iterator()
iterator in interface java.lang.Iterable<ome.model.meta.EventLog>public abstract long more()
EventLog instances are
available for processing. Some implementations may attempt to take extra
measures if the number is too large. Use 1 for a constant rather than
Long.MAX_VALUE. Use 0 to stop execution.public final ome.model.meta.EventLog nextEventLog(long id)
EventLog with the next id after the given argument or
null if none exists. This method will only return "true" EventLog
instances, with a valid id.public final ome.model.meta.EventLog lastEventLog()
public boolean addEventLog(java.lang.Class<? extends ome.model.IObject> cls,
long id)
EventLog for the given Class and id to the
backlog.public void onApplicationEvent(org.springframework.context.ApplicationEvent arg0)
onApplicationEvent in interface org.springframework.context.ApplicationListenerpublic boolean isStopSet()
public void setStop(boolean stop)