public class MessageWalker
extends java.lang.Object
Visitor
returns false to abort exploration of the children.
If message structure is modified in the first mode then paths may not be well defined.
Note if you modify a nested message it has to be saved, it is not sufficient to just save the parent message.Modifier and Type | Class and Description |
---|---|
static class |
MessageWalker.WalkerException
Exception thrown to abort processing in the MessageWalker
|
Modifier and Type | Field and Description |
---|---|
protected AppContext |
conn |
Constructor and Description |
---|
MessageWalker(AppContext conn) |
Modifier and Type | Method and Description |
---|---|
static java.util.LinkedList<java.lang.String> |
addPath(java.util.LinkedList<java.lang.String> path,
java.lang.String... extra)
Append a non-significant (Ignored by the walker) extra path
on the end of a walker path.
|
AppContext |
getContext() |
MimeMessage |
getCurrentMessage() |
protected Logger |
getLogger() |
protected int |
getMessageLevel() |
java.util.List<java.lang.String> |
getPath() |
boolean |
isAlternative() |
boolean |
isSubMessage()
Are we in a nested message
|
boolean |
matchPath() |
void |
setTarget(java.util.List<java.lang.String> target) |
void |
setTarget(java.util.List<java.lang.String> src_target,
boolean walk_all)
Set the target node for the operation.
|
protected boolean |
showAsLink(MimePart parent,
java.lang.String string) |
void |
visitMessage(MimeMessage m,
Visitor v)
Visit a Mail message.
|
void |
visitMultiPart(MimePart parent,
MimeMultipart mp,
Visitor v) |
protected AppContext conn
public MessageWalker(AppContext conn)
public void setTarget(java.util.List<java.lang.String> src_target, boolean walk_all) throws MessageWalker.WalkerException
MessageWalker
navigate directly to
the target node. If walk_all is true then all nodes will be traversed (for example to format an entire mail message
with special treatment of the target node.
Do not set walk_all=true and a path if the message is going to be changed by the walker.src_target
- walk_all
- MessageWalker.WalkerException
public AppContext getContext()
protected Logger getLogger()
public MimeMessage getCurrentMessage()
public java.util.List<java.lang.String> getPath()
public void setTarget(java.util.List<java.lang.String> target)
public boolean isSubMessage()
protected int getMessageLevel()
public final void visitMessage(MimeMessage m, Visitor v) throws MessageWalker.WalkerException
m
- MimeMessagev
- VisitorMessageWalker.WalkerException
public final void visitMultiPart(MimePart parent, MimeMultipart mp, Visitor v) throws MessageWalker.WalkerException
MessageWalker.WalkerException
public boolean isAlternative()
public boolean matchPath()
protected boolean showAsLink(MimePart parent, java.lang.String string)
public static java.util.LinkedList<java.lang.String> addPath(java.util.LinkedList<java.lang.String> path, java.lang.String... extra)
path
- extra
-