org.daisy.streamline.api.tasks.package-info Maven / Gradle / Ivy
The newest version!
/**
* Provides an API for tasks. This package defines components necessary
* to assemble a file format conversion dynamically at runtime.
*
* TaskGroup
is used to implement a task. This can in turn
* be used by a TaskSystem
to assemble a file format conversion.
* Both these interfaces return a list of InternalTask
s. An
* InternalTask
represents a file format conversion unit, which
* can be one of several types:
*
* - Read Only - this type is typically used for validation
* - Read/Write - this type can be a conversion or enhancement
* - An "expanding" task - this is not a task in it self, but a task
* that expands into other tasks at the time of execution. The purpose of this
* type is that it allows the actual input file to influence which tasks
* are run. This makes it possible to, for example, provide a generic task for
* XML which performs different tasks based on the XML namespace of the
* root element
*
* Note that a TaskSystem
resolving the tasks and performing the
* actions needs to use reflexion to determine what action to take since the
* InternalTask
interface doesn't provide a way to execute the
* task.
*
* @author Joel Håkansson
*/
package org.daisy.streamline.api.tasks;