View Javadoc

1   /*
2    * Copyright 2005-2007 The Kuali Foundation
3    *
4    *
5    * Licensed under the Educational Community License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain a copy of the License at
8    *
9    * http://www.opensource.org/licenses/ecl2.php
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.kuali.rice.kew.batch;
18  
19  import org.kuali.rice.kew.xml.XmlLoader;
20  
21  import java.io.IOException;
22  
23  
24  /**
25   * A service which is responsible for digesting (by delegating to other target services)
26   * an xml document loaded at runtime. It exists so that we can apply Spring's automagical
27   * transactioning.  Ordering of invocations with respect to service dependencies is the
28   * caller's responsibility.
29   * Pipeline:<br/>
30   * <ol>
31   *   <li>Acquisition: <code>XmlPollerService</code>, <i>Struts upload action</i></li>
32   *   <li>Ingestion: XmlIngesterService</li>
33   *   <li>Digestion: XmlDigesterService</li>
34   * </ol>
35   * @see org.kuali.rice.kew.batch.XmlIngesterService
36   * @author Kuali Rice Team (rice.collab@kuali.org)
37   */
38  public interface XmlDigesterService {
39  
40      /**
41       * Digests an XmlDoc.  Workflow User is passed to XmlLoader and the content is routing in a document
42       * as that user if the loader supports it.
43       *
44       * @param xmlLoader
45       * @param xmlDocCollection
46       * @param principalId
47       * @throws IOException
48       */
49      public void digest(XmlLoader xmlLoader, XmlDocCollection xmlDocCollection, String principalId) throws IOException;
50  }