|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.mailet.base.GenericMailet org.apache.james.transport.mailets.ReplaceContent
public class ReplaceContent
Replace text contents
This mailet allow to specific regular expression to replace text in subject and content.
Each expression is defined as:
/REGEX_PATTERN/SUBSTITUTION_PATTERN/FLAGS/
REGEX_PATTERN
is a regex used for the match
SUBSTITUTION_PATTERN
is a substitution pattern
FLAGS
flags supported for the pattern:
i: case insensitive
m: multi line
x: extended (N/A)
r: repeat - keep matching until a substitution is possible
To identify subject and body pattern we use the tags <subjectPattern> and <bodyPattern>
Rules can be specified in external files. Lines must be CRLF terminated and lines starting with # are considered commments. Tags used to include external files are <subjectPatternFile> and <bodyPatternFile> If file path starts with # then the file is loaded as a reasource.
Use of both files and direct patterns at the same time is allowed.
This mailet allow also to enforce the resulting charset for messages processed. To do that the tag <charset> must be specified.
NOTE:
Regexp rules must be escaped by regexp excaping rules and applying this 2 additional rules:
- "/" char inside an expression must be prefixed with "\":
e.g: "/\//-//" replaces "/" with "-"
- when the rules are specified using <subjectPattern> or <bodyPattern> and
"/,/" has to be used in a pattern string it must be prefixed with a "\".
E.g: "/\/\/,//" replaces "/" with "," (the rule would be "/\//,//" but the "/,/" must
be escaped.
Field Summary | |
---|---|
static int |
FLAG_REPEAT
|
Constructor Summary | |
---|---|
ReplaceContent()
|
Method Summary | |
---|---|
protected static java.lang.String |
applyPatterns(java.util.regex.Pattern[] patterns,
java.lang.String[] substitutions,
java.lang.Integer[] pflags,
java.lang.String text,
int debug,
GenericMailet logOwner)
|
java.lang.String |
getMailetInfo()
returns a String describing this mailet. |
protected static java.lang.Object[] |
getPattern(java.lang.String line)
|
protected static java.util.List[] |
getPatternsFromStream(java.io.InputStream stream,
java.lang.String charset)
|
protected static java.util.List[] |
getPatternsFromString(java.lang.String pattern)
|
void |
init()
|
void |
service(Mail mail)
|
Methods inherited from class org.apache.mailet.base.GenericMailet |
---|
arrayToString, checkInitParameters, destroy, getInitParameter, getInitParameter, getInitParameter, getInitParameterNames, getMailetConfig, getMailetContext, getMailetName, init, log, log |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int FLAG_REPEAT
Constructor Detail |
---|
public ReplaceContent()
Method Detail |
---|
public java.lang.String getMailetInfo()
getMailetInfo
in interface Mailet
getMailetInfo
in class GenericMailet
protected static java.lang.Object[] getPattern(java.lang.String line) throws MailetException
MailetException
protected static java.util.List[] getPatternsFromString(java.lang.String pattern) throws MailetException
MailetException
protected static java.util.List[] getPatternsFromStream(java.io.InputStream stream, java.lang.String charset) throws MailetException, java.io.IOException
MailetException
java.io.IOException
protected static java.lang.String applyPatterns(java.util.regex.Pattern[] patterns, java.lang.String[] substitutions, java.lang.Integer[] pflags, java.lang.String text, int debug, GenericMailet logOwner)
public void init() throws MailetException
init
in class GenericMailet
MailetException
public void service(Mail mail) throws MailetException
service
in interface Mailet
service
in class GenericMailet
MailetException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |