There are two obvious extension points: AbstractTask and AbstractExecutionContext.
AbstractTask is an implementation of Task that manages much of the housekeeping and provides a few services. Like PrintTask, a minimal extension of AbstractTask must implement getLogger
, doProcess
and doValidate
.
AbstractExecutionContext does much the same for ExecutionContext but less is provided. The ExecutionContext methods finished
, isFinished
, log
, progress
, start
still have to be implemented, as well as two abstract methods in AbstractExecutionContext: generateRunIdentifier
and getLogger
.
The other obvious extension of functionality is the addition of support for other databases. This touches a number of classes: ConnectionFactory, DBHelper, SQLTask and descendents; as well as requiring a new ExecutionContext and a database-specific implementation of the database objects and procedures.