sascha@68: package de.intevation.artifacts; sascha@68: sascha@68: import java.io.Serializable; sascha@68: sascha@68: import org.w3c.dom.Document; sascha@68: sascha@68: /** sascha@78: * The idea is to process some input XML document to produce an output sascha@78: * XML document. sascha@77: * @author Sascha L. Teichmann sascha@68: */ sascha@68: public interface Service sascha@68: extends Serializable sascha@68: { sascha@78: /** sascha@78: * Processes some input XML document sascha@78: * @param data The input data sascha@78: * @param globalContext The global context of the artifact database. sascha@78: * @param callMeta The call meta contex, e.g. preferred languages. sascha@78: * @return The result output XML document. sascha@78: */ sascha@68: Document process(Document data, Object globalContext, CallMeta callMeta); sascha@69: sascha@78: /** sascha@78: * Setup the concrete processing service. This is done at startup time sascha@78: * of the artifact database system. sascha@78: * @param factory The service factory which created this service. sascha@78: * @param globalContext The global context of the artifact database. sascha@78: */ sascha@69: void setup(ServiceFactory factory, Object globalContext); sascha@68: } sascha@68: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :