View Javadoc
1 // $Id: Pipeline.java,v 1.2 2004/02/12 22:48:43 powerpete Exp $
2 // [JMP, 04.02.2004] Created this file.
3 package org.jface.stepmt.transform;
4
5 import java.util.ArrayList;
6 import java.util.Iterator;
7 import java.util.List;
8
9 import org.jface.stepmt.core.Interpreter;
10 import org.jface.stepmt.core.Region;
11 import org.xml.sax.ContentHandler;
12 import org.xml.sax.SAXException;
13
14 /***
15 * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a>
16 * @version $Id: Pipeline.java,v 1.2 2004/02/12 22:48:43 powerpete Exp $
17 */
18 public class Pipeline
19 {
20 private String name;
21 private List transformers = new ArrayList();
22
23 public String getName()
24 {
25 return name;
26 }
27
28 public void setName(String name)
29 {
30 this.name = name;
31 }
32
33 public void addTransformer(Transformer transformer)
34 {
35 transformers.add(transformer);
36 }
37
38 protected void generate(
39 ContentHandler contentHandler,
40 Region region,
41 String text)
42 throws SAXException
43 {
44 Interpreter interpreter = new Interpreter();
45 Transformer transformer = null;
46 // TODO Avoid rebuilding the whole pipeline every time!!!
47 for (Iterator it = transformers.iterator(); it.hasNext();)
48 {
49 Transformer tmp = (Transformer) it.next();
50 ContentHandler consumer = tmp.getContentHandler();
51 setConsumer(interpreter, transformer, consumer);
52 transformer = tmp;
53 }
54 setConsumer(interpreter, transformer, contentHandler);
55 interpreter.setRegion(region);
56 interpreter.setText(text);
57 interpreter.generate();
58 }
59
60 private void setConsumer(
61 Interpreter interpreter,
62 Transformer transformer,
63 ContentHandler consumer)
64 {
65 if (transformer == null)
66 {
67 interpreter.setConsumer(consumer);
68 }
69 else
70 {
71 transformer.setContentHandler(consumer);
72 }
73 }
74 }
This page was automatically generated by Maven