org.jasen.core.parsers
Class AbstractReceivedHeaderParser

java.lang.Object
  extended byorg.jasen.core.parsers.AbstractReceivedHeaderParser
All Implemented Interfaces:
ReceivedHeaderParser
Direct Known Subclasses:
GenericReceivedHeaderParser

public abstract class AbstractReceivedHeaderParser
extends Object
implements ReceivedHeaderParser

Optional base class for ReceivedHeaderParsers.

Author:
Jason Polites

Constructor Summary
AbstractReceivedHeaderParser()
           
 
Method Summary
abstract  ReceivedHeaderParserData parse(String header, InetAddressResolver resolver)
          Parses a single received header line.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractReceivedHeaderParser

public AbstractReceivedHeaderParser()
Method Detail

parse

public abstract ReceivedHeaderParserData parse(String header,
                                               InetAddressResolver resolver)
                                        throws JasenParseException
Description copied from interface: ReceivedHeaderParser
Parses a single received header line.

We expect the Received header to be in the form:

 received    =  "Received"    ":"          ; one per relay
                 ["from" domain]           ; sending host
                 ["by"   domain]           ; receiving host
                 ["via"  atom]             ; physical path
                *("with" atom)             ; link/mail protocol
                 ["id"   msg-id]           ; receiver msg id
                 ["for"  addr-spec]        ; initial form
 

Specified by:
parse in interface ReceivedHeaderParser
Parameters:
header -
Returns:
ReceivedHeaderParserData containing the results of the parse
Throws:
JasenParseException - only if a parse failed due to an unexpected error. Or a parse could not complete due to a malformed header line