View Javadoc
1 // $Id: Template.java,v 1.2 2004/02/12 22:55:05 powerpete Exp $ 2 // [JMP, 04.02.2004] Created this file. 3 package org.jface.stepmt.transform.config; 4 5 import java.io.InputStream; 6 7 import jface.util.factory.FactoryException; 8 import jface.util.factory.XmlObjectFactory; 9 10 import org.jface.stepmt.core.PatternMap; 11 import org.jface.stepmt.core.Region; 12 import org.jface.stepmt.transform.util.*; 13 14 /*** 15 * Loads a {@link Template} from an XML document. A document must have the 16 * following structure: 17 * <p> 18 * <pre> 19 * <template> 20 * <name> 21 * <!-- Name of the template here. --> 22 * </name> 23 * <region class="org.jface.stepmt.core.Region"> 24 * <!-- Properties of the region and sub-regions here. --> 25 * </region> 26 * <!-- Each pattern must instantiate the org.jface.stepmt.core.Pattern 27 * interface. --> 28 * <pattern class="..."> 29 * <name> 30 * <!-- Name of the pattern here. --> 31 * </name> 32 * </pattern> 33 * <!-- Define more patterns here. --> 34 * </template> 35 * </pre> 36 * <p> 37 * The region returned by {@link #getRegion()} contains already resolved 38 * {@link org.jface.stepmt.core.Pattern}s. 39 * 40 * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a> 41 * @version $Id: Template.java,v 1.2 2004/02/12 22:55:05 powerpete Exp $ 42 */ 43 public class Template implements Comparable 44 { 45 private String name; 46 private Region region; 47 private String example; 48 49 public Template(InputStream stream) throws FactoryException 50 { 51 XmlObjectFactory factory = XmlObjectFactoryLoader.newFactory(stream); 52 configure(factory); 53 } 54 55 protected void configure(XmlObjectFactory factory) 56 { 57 name = (String) factory.get("name"); 58 region = (Region) factory.get("region"); 59 example = (String) factory.get("example"); 60 PatternMap patternMap = new PatternMap(); 61 patternMap.addAll(factory.getAll("pattern")); 62 region.resolvePatterns(patternMap); 63 64 } 65 66 public String getExample() 67 { 68 return example; 69 } 70 71 public String getName() 72 { 73 return name; 74 } 75 76 public Region getRegion() 77 { 78 return region; 79 } 80 81 public int compareTo(Object o) 82 { 83 return name.compareTo(((Template) o).name); 84 } 85 }

This page was automatically generated by Maven