r369 - trunk/nuiton-processor/src/main/java/org/nuiton/processor
Author: tchemit Date: 2011-01-20 08:31:34 +0100 (Thu, 20 Jan 2011) New Revision: 369 Url: http://nuiton.org/repositories/revision/processor/369 Log: Evolution #1212: Add usefull methods in ProcessorUtil Modified: trunk/nuiton-processor/src/main/java/org/nuiton/processor/ProcessorUtil.java Modified: trunk/nuiton-processor/src/main/java/org/nuiton/processor/ProcessorUtil.java =================================================================== --- trunk/nuiton-processor/src/main/java/org/nuiton/processor/ProcessorUtil.java 2011-01-20 07:24:57 UTC (rev 368) +++ trunk/nuiton-processor/src/main/java/org/nuiton/processor/ProcessorUtil.java 2011-01-20 07:31:34 UTC (rev 369) @@ -27,6 +27,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.processor.filters.DefaultFilter; import org.nuiton.processor.filters.Filter; import java.io.File; @@ -245,4 +246,106 @@ doProcess(processor, in, out, DEFAULT_ENCODING); } + /** + * To extract all content inside the header and footer. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.1 + */ + public static class FragmentExtractor extends DefaultFilter { + + /** Logger. */ + static protected final Log log = + LogFactory.getLog(FragmentExtractor.class); + + protected String header; + + protected String footer; + + protected boolean verbose; + + public FragmentExtractor(String header, String footer) { + this.header = header; + this.footer = footer; + } + + public void setVerbose(boolean verbose) { + this.verbose = verbose; + } + + @Override + protected String performInFilter(String ch) { + if (verbose || log.isInfoEnabled()) { + log.info("Detected key " + ch); + } + return ch + "\n"; + } + + @Override + protected String performOutFilter(String ch) { + return EMPTY_STRING; + } + + @Override + protected String getHeader() { + return header; + } + + @Override + protected String getFooter() { + return footer; + } + } + + /** + * To remove all content inside the header and footer. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.1 + */ + public static class FragmentRemover extends DefaultFilter { + + /** Logger. */ + static private final Log log = + LogFactory.getLog(FragmentRemover.class); + + protected String header; + + protected String footer; + + protected boolean verbose; + + public FragmentRemover(String header, String footer) { + this.header = header; + this.footer = footer; + } + + public void setVerbose(boolean verbose) { + this.verbose = verbose; + } + + @Override + protected String performInFilter(String ch) { + if (verbose || log.isInfoEnabled()) { + log.info("Will remove " + ch); + } + return EMPTY_STRING; + } + + @Override + protected String performOutFilter(String ch) { + return ch; + } + + @Override + protected String getHeader() { + return header; + } + + @Override + protected String getFooter() { + return footer; + } + } + }
participants (1)
-
tchemit@users.nuiton.org