1 16 17 package de.gulden.util.javasource.sourclet; 18 19 import de.gulden.util.javasource.SourceObjectDeclared; 20 import java.io.*; 21 import java.util.*; 22 23 29 public abstract class AbstractSourclet implements Sourclet, SourcletOptions { 30 31 35 38 public static String nl = System.getProperty("line.separator"); 39 40 41 45 50 protected SourcletOptions options = null; 51 52 53 57 60 protected AbstractSourclet() { 61 super(); 62 } 63 64 65 69 83 public void setOptions(SourcletOptions options) { 84 this.options=options; 85 } 86 87 92 public SourcletOptions getOptions() { 93 return options; 94 } 95 96 100 public void init(SourcletOptions options) { 101 setOptions(options); 102 } 103 104 108 public String getOption(String name) { 109 return options.getOption(name); 110 } 111 112 116 public int getIntOption(String name) { 117 return options.getIntOption(name); 118 } 119 120 124 public boolean isOption(String name) { 125 return options.isOption(name); 126 } 127 128 132 public boolean isOption(String name, String value) { 133 return options.isOption(name, value); 134 } 135 136 140 public boolean hasOption(String name, String value) { 141 return options.hasOption(name, value); 142 } 143 144 149 public void buildSource(OutputStream out, SourceObjectDeclared o) throws IOException { 150 buildStartSource(out,o); 151 buildHeadSource(out,o); 152 buildBodySource(out,o); 153 buildEndSource(out,o); 154 } 155 156 164 public abstract void buildStartSource(OutputStream out, SourceObjectDeclared o) throws IOException; 165 166 173 public abstract void buildHeadSource(OutputStream out, SourceObjectDeclared o) throws IOException; 174 175 182 public abstract void buildBodySource(OutputStream out, SourceObjectDeclared o) throws IOException; 183 184 189 public abstract void buildEndSource(OutputStream out, SourceObjectDeclared o) throws IOException; 190 191 192 196 201 public static void write(OutputStream out, String s) throws IOException { 202 out.write(s.getBytes()); 203 } 204 205 210 public static void writeln(OutputStream out, String s) throws IOException { 211 write(out,s+nl); 212 } 213 214 } | Popular Tags |