|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface MailAdapter
Interface MailAdapter
defines the minimum functionality
required of of a class implementing a mail message. This is the functionality
neccesary to implement the Commands and Tests that RFC32028 mandates MUST be
implemented.
Typically, implementations will wrap an application's pre-existing mail message implementation. It is expected that implementations will extend the minimum level of functionality to provide support for Command and Test extensions that exploit the capabilities of a particular application.
Apache Mime4J is a parser for MIME. It can easily be used to parse an address string into addresses. For example:
import org.apache.james.mime4j.field.address.AddressList;
import org.apache.james.mime4j.field.address.Mailbox;
import org.apache.james.mime4j.field.address.MailboxList;
import org.apache.james.mime4j.field.address.parser.ParseException;
...
public Address[] parseAddresses(String arg) throws SieveMailException, InternetAddressException {
try {
final MailboxList list = AddressList.parse(arg).flatten();
final int size = list.size();
final Address[] results = new Address[size];
for (int i=0;i<size;i++) {
final Mailbox mailbox = list.get(i);
results[i] = new AddressImpl(mailbox.getLocalPart(), mailbox.getDomain());
}
return null;
} catch (ParseException e) {
throw new InternetAddressException(e);
}
}
Nested Class Summary | |
---|---|
static interface |
MailAdapter.Address
Contains address data required for SIEVE processing. |
Method Summary | |
---|---|
void |
addAction(Action action)
Method addAction adds an Action to the List of Actions to be performed by the receiver. |
void |
executeActions()
Method executeActions. |
java.util.List |
getActions()
Method getActions answers the List of Actions accumulated by the receiver. |
java.util.ListIterator |
getActionsIterator()
Method getActionIteraror answers an Iterator over the List of Actions accumulated by the receiver. |
java.lang.Object |
getContent()
Method getContent returns object containing the message content. |
java.lang.String |
getContentType()
Method getContentType returns string/mime representation of the message type. |
java.util.List |
getHeader(java.lang.String name)
Method getHeader answers a List of all of the headers in the receiver whose name is equal to the passed name. |
java.util.List |
getHeaderNames()
Method getHeaderNames answers a List of all of the headers in the receiver. |
java.util.List |
getMatchingHeader(java.lang.String name)
Method getMatchingHeader answers a List of all of the headers in the receiver with the passed name. |
int |
getSize()
Method getSize answers the receiver's message size in octets. |
MailAdapter.Address[] |
parseAddresses(java.lang.String headerName)
Parses the named header value into individual addresses. |
Method Detail |
---|
java.util.List getActions()
List
of Action
's, not null, possibly
unmodifiablejava.util.ListIterator getActionsIterator()
ListIterator
, not null, possibly unmodifiablejava.util.List getHeader(java.lang.String name) throws SieveMailException
name
-
List
not null, possibly empty, possible
unmodifiable
SieveMailException
java.util.List getMatchingHeader(java.lang.String name) throws SieveMailException
Method getMatchingHeader answers a List of all of the headers in the receiver with the passed name. If no headers are found an empty List is returned.
This method differs from getHeader(String) in that it ignores case and the whitespace prefixes and suffixes of a header name when performing the match, as required by RFC 3028. Thus "From", "from ", " From" and " from " are considered equal.
name
-
List
, not null possibly empty, possible
unmodifiable
SieveMailException
java.util.List getHeaderNames() throws SieveMailException
List
, not null possible empty, possible
unmodifiable
SieveMailException
void addAction(Action action)
action
- void executeActions() throws SieveException
SieveException
int getSize() throws SieveMailException
SieveMailException
java.lang.String getContentType() throws SieveMailException
SieveMailException
java.lang.Object getContent() throws SieveMailException
SieveMailException
MailAdapter.Address[] parseAddresses(java.lang.String headerName) throws SieveMailException, InternetAddressException
Parses the named header value into individual addresses.
Headers should be matched in a way that ignores case and the whitespace prefixes and suffixes of a header name when performing the match, as required by RFC 3028. Thus "From", "from ", " From" and " from " are considered equal.
headerName
- name of the header whose value is to be split
InternetAddressException
- when the header value is not an address or list of addresses.
Implemetations may elect to support only standard headers
known to containing one or more addresses rather than parsing
the value content
SieveMailException
- when the header value cannot be read
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |