1 18 package org.apache.tools.ant.types; 19 20 import java.util.Vector ; 21 22 import org.apache.tools.ant.BuildException; 23 import org.apache.tools.ant.filters.ChainableReader; 24 import org.apache.tools.ant.filters.ClassConstants; 25 import org.apache.tools.ant.filters.EscapeUnicode; 26 import org.apache.tools.ant.filters.ExpandProperties; 27 import org.apache.tools.ant.filters.HeadFilter; 28 import org.apache.tools.ant.filters.LineContains; 29 import org.apache.tools.ant.filters.LineContainsRegExp; 30 import org.apache.tools.ant.filters.PrefixLines; 31 import org.apache.tools.ant.filters.ReplaceTokens; 32 import org.apache.tools.ant.filters.StripJavaComments; 33 import org.apache.tools.ant.filters.StripLineBreaks; 34 import org.apache.tools.ant.filters.StripLineComments; 35 import org.apache.tools.ant.filters.TabsToSpaces; 36 import org.apache.tools.ant.filters.TailFilter; 37 import org.apache.tools.ant.filters.TokenFilter; 38 39 40 44 public class FilterChain extends DataType 45 implements Cloneable { 46 47 private Vector filterReaders = new Vector (); 48 49 54 public void addFilterReader(final AntFilterReader filterReader) { 55 filterReaders.addElement(filterReader); 56 } 57 58 63 public Vector getFilterReaders() { 64 return filterReaders; 65 } 66 67 72 public void addClassConstants(final ClassConstants classConstants) { 73 filterReaders.addElement(classConstants); 74 } 75 76 81 public void addExpandProperties(final ExpandProperties expandProperties) { 82 filterReaders.addElement(expandProperties); 83 } 84 85 90 public void addHeadFilter(final HeadFilter headFilter) { 91 filterReaders.addElement(headFilter); 92 } 93 94 99 public void addLineContains(final LineContains lineContains) { 100 filterReaders.addElement(lineContains); 101 } 102 103 108 public void addLineContainsRegExp(final LineContainsRegExp 109 lineContainsRegExp) { 110 filterReaders.addElement(lineContainsRegExp); 111 } 112 113 118 public void addPrefixLines(final PrefixLines prefixLines) { 119 filterReaders.addElement(prefixLines); 120 } 121 122 127 public void addReplaceTokens(final ReplaceTokens replaceTokens) { 128 filterReaders.addElement(replaceTokens); 129 } 130 131 136 public void addStripJavaComments(final StripJavaComments 137 stripJavaComments) { 138 filterReaders.addElement(stripJavaComments); 139 } 140 141 146 public void addStripLineBreaks(final StripLineBreaks 147 stripLineBreaks) { 148 filterReaders.addElement(stripLineBreaks); 149 } 150 151 156 public void addStripLineComments(final StripLineComments 157 stripLineComments) { 158 filterReaders.addElement(stripLineComments); 159 } 160 161 166 public void addTabsToSpaces(final TabsToSpaces tabsToSpaces) { 167 filterReaders.addElement(tabsToSpaces); 168 } 169 170 175 public void addTailFilter(final TailFilter tailFilter) { 176 filterReaders.addElement(tailFilter); 177 } 178 179 185 public void addEscapeUnicode(final EscapeUnicode escapeUnicode) { 186 filterReaders.addElement(escapeUnicode); 187 } 188 189 195 public void addTokenFilter(final TokenFilter tokenFilter) { 196 filterReaders.addElement(tokenFilter); 197 } 198 199 205 public void addDeleteCharacters(TokenFilter.DeleteCharacters filter) { 206 filterReaders.addElement(filter); 207 } 208 209 215 public void addContainsRegex(TokenFilter.ContainsRegex filter) { 216 filterReaders.addElement(filter); 217 } 218 219 224 public void addReplaceRegex(TokenFilter.ReplaceRegex filter) { 225 filterReaders.addElement(filter); 226 } 227 228 234 public void addTrim(TokenFilter.Trim filter) { 235 filterReaders.addElement(filter); 236 } 237 238 244 public void addReplaceString( 245 TokenFilter.ReplaceString filter) { 246 filterReaders.addElement(filter); 247 } 248 249 255 public void addIgnoreBlank( 256 TokenFilter.IgnoreBlank filter) { 257 filterReaders.addElement(filter); 258 } 259 260 261 271 public void setRefid(Reference r) throws BuildException { 272 if (!filterReaders.isEmpty()) { 273 throw tooManyAttributes(); 274 } 275 Object o = r.getReferencedObject(getProject()); 277 if (o instanceof FilterChain) { 278 FilterChain fc = (FilterChain) o; 279 filterReaders = fc.getFilterReaders(); 280 } else { 281 String msg = r.getRefId() + " doesn\'t refer to a FilterChain"; 282 throw new BuildException(msg); 283 } 284 285 super.setRefid(r); 286 } 287 288 294 295 public void add(ChainableReader filter) { 296 filterReaders.addElement(filter); 297 } 298 299 } 300 | Popular Tags |