org.openstreetmap.osmosis.core.apidb.v0_6
Class ApidbChangeReader

java.lang.Object
  extended by org.openstreetmap.osmosis.core.apidb.v0_6.ApidbChangeReader
All Implemented Interfaces:
java.lang.Runnable, Task, ChangeSource, RunnableChangeSource

public class ApidbChangeReader
extends java.lang.Object
implements RunnableChangeSource

A change source reading from database history tables. This aims to be suitable for running at regular intervals with database overhead proportional to changeset size.

Author:
Brett Henderson

Constructor Summary
ApidbChangeReader(DatabaseLoginCredentials loginCredentials, DatabasePreferences preferences, java.util.Date intervalBegin, java.util.Date intervalEnd, boolean fullHistory)
          Creates a new instance.
 
Method Summary
 void run()
          Reads all data from the database and send it to the sink.
protected  void runImpl(DatabaseContext2 dbCtx)
          Runs the task implementation.
 void setChangeSink(ChangeSink changeSink)
          Sets the change sink to send data to.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApidbChangeReader

public ApidbChangeReader(DatabaseLoginCredentials loginCredentials,
                         DatabasePreferences preferences,
                         java.util.Date intervalBegin,
                         java.util.Date intervalEnd,
                         boolean fullHistory)
Creates a new instance.

Parameters:
loginCredentials - Contains all information required to connect to the database.
preferences - Contains preferences configuring database behaviour.
intervalBegin - Marks the beginning (inclusive) of the time interval to be checked.
intervalEnd - Marks the end (exclusive) of the time interval to be checked.
fullHistory - Specifies if full version history should be returned, or just a single change per entity for the interval.
Method Detail

setChangeSink

public void setChangeSink(ChangeSink changeSink)
Sets the change sink to send data to.

Specified by:
setChangeSink in interface ChangeSource
Parameters:
changeSink - The sink for receiving all produced data.

runImpl

protected void runImpl(DatabaseContext2 dbCtx)
Runs the task implementation. This is called by the run method within a transaction.

Parameters:
dbCtx - Used to access the database.

run

public void run()
Reads all data from the database and send it to the sink.

Specified by:
run in interface java.lang.Runnable