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