You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-dev@james.apache.org by no...@apache.org on 2007/09/25 09:03:28 UTC

svn commit: r579097 [8/40] - in /james/site/trunk/www/jspf: ./ apidocs/ apidocs/org/ apidocs/org/apache/ apidocs/org/apache/james/ apidocs/org/apache/james/jspf/ apidocs/org/apache/james/jspf/core/ apidocs/org/apache/james/jspf/core/class-use/ apidocs/...

Added: james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFSession.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFSession.html?rev=579097&view=auto
==============================================================================
--- james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFSession.html (added)
+++ james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFSession.html Tue Sep 25 00:03:10 2007
@@ -0,0 +1,1100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_12) on Tue Sep 25 08:45:01 CEST 2007 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SPFSession (Apache JAMES jSPF 0.9.6-SNAPSHOT API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.apache.james.jspf.core.SPFSession class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SPFSession (Apache JAMES jSPF 0.9.6-SNAPSHOT API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SPFSession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFRecordParser.html" title="interface in org.apache.james.jspf.core"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html" title="interface in org.apache.james.jspf.core"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/james/jspf/core/SPFSession.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SPFSession.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.apache.james.jspf.core</FONT>
+<BR>
+Class SPFSession</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.james.jspf.core.SPFSession</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>SPFSession</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></DL>
+</PRE>
+
+<P>
+This Class is used as a container between the other classes. All necessary
+ values get stored here and get retrieved from here.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#MAX_DEPTH">MAX_DEPTH</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The maximum mechanismn which are allowed to use</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#SPFSession(java.lang.String, java.lang.String, java.lang.String)">SPFSession</A></B>(java.lang.String&nbsp;mailFrom,
+           java.lang.String&nbsp;heloDomain,
+           java.lang.String&nbsp;clientIP)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Build the SPFSession from the given parameters</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve a stored attribute</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getClientDomain()">getClientDomain</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get clientDomain (p)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getCurrentDomain()">getCurrentDomain</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get current-domain (d)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getCurrentResult()">getCurrentResult</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current result</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getCurrentResultExpanded()">getCurrentResultExpanded</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getCurrentSenderPart()">getCurrentSenderPart</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get current-senderpart (l)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFCheckerExceptionCatcher.html" title="interface in org.apache.james.jspf.core">SPFCheckerExceptionCatcher</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getExceptionCatcher()">getExceptionCatcher</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the SPFCheckerExceptionCatcher on the top of the Stack, but not 
+ remove it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getExplanation()">getExplanation</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the explanation</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getHostName()">getHostName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get sender-domain (h)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getInAddress()">getInAddress</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get inAddress (v)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getIpAddress()">getIpAddress</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the ipAddress which was used to connect</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getMacroIpAddress()">getMacroIpAddress</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get sending-host (i)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getMailFrom()">getMailFrom</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get responsible-sender (s)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getReadableIP()">getReadableIP</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get readableIP (c)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getReceivingDomain()">getReceivingDomain</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get receivingDomain (r)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getSenderDomain()">getSenderDomain</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get senderDomain (o)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#getTimeStamp()">getTimeStamp</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get timeStamp (t)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#ignoreExplanation()">ignoreExplanation</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the explanation should be ignored</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#increaseCurrentDepth()">increaseCurrentDepth</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Increase the current depth:
+ 
+ if we reach maximum calls we must throw a PermErrorException.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFChecker.html" title="interface in org.apache.james.jspf.core">SPFChecker</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#popChecker()">popChecker</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the SPFChecker on the top and return it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFCheckerExceptionCatcher.html" title="interface in org.apache.james.jspf.core">SPFCheckerExceptionCatcher</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#popExceptionCatcher()">popExceptionCatcher</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the SPFCheckerExceptionCatcher on the top and return it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#pushChecker(org.apache.james.jspf.core.SPFChecker)">pushChecker</A></B>(<A HREF="../../../../../org/apache/james/jspf/core/SPFChecker.html" title="interface in org.apache.james.jspf.core">SPFChecker</A>&nbsp;checker)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the given SPFChecker on top of the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#pushExceptionCatcher(org.apache.james.jspf.core.SPFCheckerExceptionCatcher)">pushExceptionCatcher</A></B>(<A HREF="../../../../../org/apache/james/jspf/core/SPFCheckerExceptionCatcher.html" title="interface in org.apache.james.jspf.core">SPFCheckerExceptionCatcher</A>&nbsp;catcher)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the given SPFCheckerExceptionCatcher on top of the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(java.lang.String&nbsp;key)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the attribute stored under the given key</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(java.lang.String&nbsp;key,
+             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a new attribute in the session</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setClientDomain(java.lang.String)">setClientDomain</A></B>(java.lang.String&nbsp;clientDomain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the calculated clientDomain</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setCurrentDomain(java.lang.String)">setCurrentDomain</A></B>(java.lang.String&nbsp;domain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the currentDomain</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setCurrentResult(java.lang.String)">setCurrentResult</A></B>(java.lang.String&nbsp;result)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the current result</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setCurrentResultExpanded(java.lang.String)">setCurrentResultExpanded</A></B>(java.lang.String&nbsp;result)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setExplanation(java.lang.String)">setExplanation</A></B>(java.lang.String&nbsp;explanation)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the explanation which will returned when a fail match</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setIgnoreExplanation(boolean)">setIgnoreExplanation</A></B>(boolean&nbsp;ignoreExplanation)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get set to true if the explanation should be ignored</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html#setReceivingDomain(java.lang.String)">setReceivingDomain</A></B>(java.lang.String&nbsp;receivingDomain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the new receiving domain</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MAX_DEPTH"><!-- --></A><H3>
+MAX_DEPTH</H3>
+<PRE>
+public static final int <B>MAX_DEPTH</B></PRE>
+<DL>
+<DD>The maximum mechanismn which are allowed to use
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFSession.MAX_DEPTH">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="SPFSession(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+SPFSession</H3>
+<PRE>
+public <B>SPFSession</B>(java.lang.String&nbsp;mailFrom,
+                  java.lang.String&nbsp;heloDomain,
+                  java.lang.String&nbsp;clientIP)
+           throws <A HREF="../../../../../org/apache/james/jspf/core/exceptions/PermErrorException.html" title="class in org.apache.james.jspf.core.exceptions">PermErrorException</A>,
+                  <A HREF="../../../../../org/apache/james/jspf/core/exceptions/NoneException.html" title="class in org.apache.james.jspf.core.exceptions">NoneException</A></PRE>
+<DL>
+<DD>Build the SPFSession from the given parameters
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>mailFrom</CODE> - The emailaddress of the sender<DD><CODE>heloDomain</CODE> - The helo provided by the sender<DD><CODE>clientIP</CODE> - The ipaddress of the client
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/exceptions/PermErrorException.html" title="class in org.apache.james.jspf.core.exceptions">PermErrorException</A></CODE> - Get thrown if invalid data get passed
+<DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/exceptions/NoneException.html" title="class in org.apache.james.jspf.core.exceptions">NoneException</A></CODE> - Get thrown if no valid emailaddress get passed</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getCurrentSenderPart()"><!-- --></A><H3>
+getCurrentSenderPart</H3>
+<PRE>
+public java.lang.String <B>getCurrentSenderPart</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getCurrentSenderPart()">MacroData</A></CODE></B></DD>
+<DD>Get current-senderpart (l)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getCurrentSenderPart()">getCurrentSenderPart</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>current-senderpart<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getCurrentSenderPart()"><CODE>MacroData.getCurrentSenderPart()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMailFrom()"><!-- --></A><H3>
+getMailFrom</H3>
+<PRE>
+public java.lang.String <B>getMailFrom</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getMailFrom()">MacroData</A></CODE></B></DD>
+<DD>Get responsible-sender (s)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getMailFrom()">getMailFrom</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>responsible-sender<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getMailFrom()"><CODE>MacroData.getMailFrom()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHostName()"><!-- --></A><H3>
+getHostName</H3>
+<PRE>
+public java.lang.String <B>getHostName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getHostName()">MacroData</A></CODE></B></DD>
+<DD>Get sender-domain (h)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getHostName()">getHostName</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>sender-domain<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getHostName()"><CODE>MacroData.getHostName()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCurrentDomain()"><!-- --></A><H3>
+getCurrentDomain</H3>
+<PRE>
+public java.lang.String <B>getCurrentDomain</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getCurrentDomain()">MacroData</A></CODE></B></DD>
+<DD>Get current-domain (d)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getCurrentDomain()">getCurrentDomain</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>current-domain<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getCurrentDomain()"><CODE>MacroData.getCurrentDomain()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInAddress()"><!-- --></A><H3>
+getInAddress</H3>
+<PRE>
+public java.lang.String <B>getInAddress</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getInAddress()">MacroData</A></CODE></B></DD>
+<DD>Get inAddress (v)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getInAddress()">getInAddress</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>inAddress<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getInAddress()"><CODE>MacroData.getInAddress()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getClientDomain()"><!-- --></A><H3>
+getClientDomain</H3>
+<PRE>
+public java.lang.String <B>getClientDomain</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getClientDomain()">MacroData</A></CODE></B></DD>
+<DD>Get clientDomain (p)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getClientDomain()">getClientDomain</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>clientDomain<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getClientDomain()"><CODE>MacroData.getClientDomain()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setClientDomain(java.lang.String)"><!-- --></A><H3>
+setClientDomain</H3>
+<PRE>
+public void <B>setClientDomain</B>(java.lang.String&nbsp;clientDomain)</PRE>
+<DL>
+<DD>Sets the calculated clientDomain
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>clientDomain</CODE> - the new clientDomain</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSenderDomain()"><!-- --></A><H3>
+getSenderDomain</H3>
+<PRE>
+public java.lang.String <B>getSenderDomain</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getSenderDomain()">MacroData</A></CODE></B></DD>
+<DD>Get senderDomain (o)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getSenderDomain()">getSenderDomain</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>senderDomain<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getSenderDomain()"><CODE>MacroData.getSenderDomain()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIpAddress()"><!-- --></A><H3>
+getIpAddress</H3>
+<PRE>
+public java.lang.String <B>getIpAddress</B>()</PRE>
+<DL>
+<DD>Get the ipAddress which was used to connect
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>ipAddres</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMacroIpAddress()"><!-- --></A><H3>
+getMacroIpAddress</H3>
+<PRE>
+public java.lang.String <B>getMacroIpAddress</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getMacroIpAddress()">MacroData</A></CODE></B></DD>
+<DD>Get sending-host (i)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getMacroIpAddress()">getMacroIpAddress</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>sending-host<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getMacroIpAddress()"><CODE>MacroData.getMacroIpAddress()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTimeStamp()"><!-- --></A><H3>
+getTimeStamp</H3>
+<PRE>
+public long <B>getTimeStamp</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getTimeStamp()">MacroData</A></CODE></B></DD>
+<DD>Get timeStamp (t)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getTimeStamp()">getTimeStamp</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>timeStamp<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getTimeStamp()"><CODE>MacroData.getTimeStamp()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReadableIP()"><!-- --></A><H3>
+getReadableIP</H3>
+<PRE>
+public java.lang.String <B>getReadableIP</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getReadableIP()">MacroData</A></CODE></B></DD>
+<DD>Get readableIP (c)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getReadableIP()">getReadableIP</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>readableIP<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getReadableIP()"><CODE>MacroData.getReadableIP()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReceivingDomain()"><!-- --></A><H3>
+getReceivingDomain</H3>
+<PRE>
+public java.lang.String <B>getReceivingDomain</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getReceivingDomain()">MacroData</A></CODE></B></DD>
+<DD>Get receivingDomain (r)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getReceivingDomain()">getReceivingDomain</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html" title="interface in org.apache.james.jspf.core">MacroData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>receivingDomain<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/james/jspf/core/MacroData.html#getReceivingDomain()"><CODE>MacroData.getReceivingDomain()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setReceivingDomain(java.lang.String)"><!-- --></A><H3>
+setReceivingDomain</H3>
+<PRE>
+public void <B>setReceivingDomain</B>(java.lang.String&nbsp;receivingDomain)</PRE>
+<DL>
+<DD>Sets the new receiving domain
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>receivingDomain</CODE> - the new receiving domain</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="increaseCurrentDepth()"><!-- --></A><H3>
+increaseCurrentDepth</H3>
+<PRE>
+public void <B>increaseCurrentDepth</B>()
+                          throws <A HREF="../../../../../org/apache/james/jspf/core/exceptions/PermErrorException.html" title="class in org.apache.james.jspf.core.exceptions">PermErrorException</A></PRE>
+<DL>
+<DD>Increase the current depth:
+ 
+ if we reach maximum calls we must throw a PermErrorException. See
+ SPF-RFC Section 10.1. Processing Limits
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../../org/apache/james/jspf/core/exceptions/PermErrorException.html" title="class in org.apache.james.jspf.core.exceptions">PermErrorException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCurrentDomain(java.lang.String)"><!-- --></A><H3>
+setCurrentDomain</H3>
+<PRE>
+public void <B>setCurrentDomain</B>(java.lang.String&nbsp;domain)</PRE>
+<DL>
+<DD>Set the currentDomain
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>domain</CODE> - The current used domain</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExplanation(java.lang.String)"><!-- --></A><H3>
+setExplanation</H3>
+<PRE>
+public void <B>setExplanation</B>(java.lang.String&nbsp;explanation)</PRE>
+<DL>
+<DD>Set the explanation which will returned when a fail match
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>explanation</CODE> - This String is set as explanation</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExplanation()"><!-- --></A><H3>
+getExplanation</H3>
+<PRE>
+public java.lang.String <B>getExplanation</B>()</PRE>
+<DL>
+<DD>Get the explanation
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>explanation</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCurrentResult(java.lang.String)"><!-- --></A><H3>
+setCurrentResult</H3>
+<PRE>
+public void <B>setCurrentResult</B>(java.lang.String&nbsp;result)</PRE>
+<DL>
+<DD>Set the current result
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>result</CODE> - result</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCurrentResult()"><!-- --></A><H3>
+getCurrentResult</H3>
+<PRE>
+public java.lang.String <B>getCurrentResult</B>()</PRE>
+<DL>
+<DD>Get the current result
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>current result</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIgnoreExplanation(boolean)"><!-- --></A><H3>
+setIgnoreExplanation</H3>
+<PRE>
+public void <B>setIgnoreExplanation</B>(boolean&nbsp;ignoreExplanation)</PRE>
+<DL>
+<DD>Get set to true if the explanation should be ignored
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ignoreExplanation</CODE> - true or false</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="ignoreExplanation()"><!-- --></A><H3>
+ignoreExplanation</H3>
+<PRE>
+public boolean <B>ignoreExplanation</B>()</PRE>
+<DL>
+<DD>Return true if the explanation should be ignored
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true of false</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Retrieve a stored attribute
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - the attribute key
+<DT><B>Returns:</B><DD>the stored attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public void <B>setAttribute</B>(java.lang.String&nbsp;key,
+                         java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Sets a new attribute in the session
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - attribute key<DD><CODE>value</CODE> - the value for this attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public java.lang.Object <B>removeAttribute</B>(java.lang.String&nbsp;key)</PRE>
+<DL>
+<DD>Remove the attribute stored under the given key
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - the key of the attribute
+<DT><B>Returns:</B><DD>object the attribute which was stored with the key</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="pushChecker(org.apache.james.jspf.core.SPFChecker)"><!-- --></A><H3>
+pushChecker</H3>
+<PRE>
+public void <B>pushChecker</B>(<A HREF="../../../../../org/apache/james/jspf/core/SPFChecker.html" title="interface in org.apache.james.jspf.core">SPFChecker</A>&nbsp;checker)</PRE>
+<DL>
+<DD>Add the given SPFChecker on top of the stack
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>checker</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="popChecker()"><!-- --></A><H3>
+popChecker</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/james/jspf/core/SPFChecker.html" title="interface in org.apache.james.jspf.core">SPFChecker</A> <B>popChecker</B>()</PRE>
+<DL>
+<DD>Remove the SPFChecker on the top and return it. If no SPFChecker is left
+ null is returned
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the last checker</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="pushExceptionCatcher(org.apache.james.jspf.core.SPFCheckerExceptionCatcher)"><!-- --></A><H3>
+pushExceptionCatcher</H3>
+<PRE>
+public void <B>pushExceptionCatcher</B>(<A HREF="../../../../../org/apache/james/jspf/core/SPFCheckerExceptionCatcher.html" title="interface in org.apache.james.jspf.core">SPFCheckerExceptionCatcher</A>&nbsp;catcher)</PRE>
+<DL>
+<DD>Add the given SPFCheckerExceptionCatcher on top of the stack
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>catcher</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="popExceptionCatcher()"><!-- --></A><H3>
+popExceptionCatcher</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/james/jspf/core/SPFCheckerExceptionCatcher.html" title="interface in org.apache.james.jspf.core">SPFCheckerExceptionCatcher</A> <B>popExceptionCatcher</B>()</PRE>
+<DL>
+<DD>Remove the SPFCheckerExceptionCatcher on the top and return it. If no SPFCheckerExceptionCatcher is left
+ null is returned
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the last catcher</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExceptionCatcher()"><!-- --></A><H3>
+getExceptionCatcher</H3>
+<PRE>
+public <A HREF="../../../../../org/apache/james/jspf/core/SPFCheckerExceptionCatcher.html" title="interface in org.apache.james.jspf.core">SPFCheckerExceptionCatcher</A> <B>getExceptionCatcher</B>()</PRE>
+<DL>
+<DD>Return the SPFCheckerExceptionCatcher on the top of the Stack, but not 
+ remove it. If no SPFCheckerExceptionCatcher is left null is returned
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the last catcher</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCurrentResultExpanded(java.lang.String)"><!-- --></A><H3>
+setCurrentResultExpanded</H3>
+<PRE>
+public void <B>setCurrentResultExpanded</B>(java.lang.String&nbsp;result)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>result</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCurrentResultExpanded()"><!-- --></A><H3>
+getCurrentResultExpanded</H3>
+<PRE>
+public java.lang.String <B>getCurrentResultExpanded</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>current result converted/expanded</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SPFSession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFRecordParser.html" title="interface in org.apache.james.jspf.core"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html" title="interface in org.apache.james.jspf.core"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/james/jspf/core/SPFSession.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SPFSession.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2007 <a href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.
+</BODY>
+</HTML>

Added: james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFTermsRegexps.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFTermsRegexps.html?rev=579097&view=auto
==============================================================================
--- james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFTermsRegexps.html (added)
+++ james/site/trunk/www/jspf/apidocs/org/apache/james/jspf/core/SPFTermsRegexps.html Tue Sep 25 00:03:10 2007
@@ -0,0 +1,474 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_12) on Tue Sep 25 08:45:01 CEST 2007 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SPFTermsRegexps (Apache JAMES jSPF 0.9.6-SNAPSHOT API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.apache.james.jspf.core.SPFTermsRegexps interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SPFTermsRegexps (Apache JAMES jSPF 0.9.6-SNAPSHOT API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SPFTermsRegexps.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html" title="class in org.apache.james.jspf.core"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/james/jspf/core/SPFTermsRegexps.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SPFTermsRegexps.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.apache.james.jspf.core</FONT>
+<BR>
+Interface SPFTermsRegexps</H2>
+<HR>
+<DL>
+<DT><PRE>public interface <B>SPFTermsRegexps</B></DL>
+</PRE>
+
+<P>
+This constants are used by Terms to define their matching rules.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#ALPHA_DIGIT_PATTERN">ALPHA_DIGIT_PATTERN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#ALPHA_PATTERN">ALPHA_PATTERN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#DELEMITER_REGEX">DELEMITER_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#DOMAIN_END_REGEX">DOMAIN_END_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ABNF: domain-end = ( "." toplabel [ "." ] ) / macro-expand</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#DOMAIN_SPEC_REGEX">DOMAIN_SPEC_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ABNF: domain-spec = macro-string domain-end</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#DOMAIN_SPEC_REGEX_R">DOMAIN_SPEC_REGEX_R</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Spring MACRO_STRING from DOMAIN_END (domain end starts with .)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#MACRO_EXPAND_REGEX">MACRO_EXPAND_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#MACRO_LETTER_PATTERN">MACRO_LETTER_PATTERN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#MACRO_LETTER_PATTERN_EXP">MACRO_LETTER_PATTERN_EXP</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#MACRO_LETTERS_REGEX">MACRO_LETTERS_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#MACRO_LITERAL_REGEX">MACRO_LITERAL_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#MACRO_STRING_REGEX">MACRO_STRING_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ABNF: macro-string = *( macro-expand / macro-literal )</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#MACRO_STRING_REGEX_TOKEN">MACRO_STRING_REGEX_TOKEN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is used by the MacroExpander</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#TOP_LABEL_REGEX">TOP_LABEL_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ABNF: toplabel = ( *alphanum ALPHA *alphanum ) / ( 1*alphanum "-" *(
+ alphanum / "-" ) alphanum ) ; LDH rule plus additional TLD restrictions ;
+ (see [RFC3696], Section 2)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../org/apache/james/jspf/core/SPFTermsRegexps.html#TRANSFORMERS_REGEX">TRANSFORMERS_REGEX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ALPHA_PATTERN"><!-- --></A><H3>
+ALPHA_PATTERN</H3>
+<PRE>
+static final java.lang.String <B>ALPHA_PATTERN</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.ALPHA_PATTERN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MACRO_LETTER_PATTERN_EXP"><!-- --></A><H3>
+MACRO_LETTER_PATTERN_EXP</H3>
+<PRE>
+static final java.lang.String <B>MACRO_LETTER_PATTERN_EXP</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.MACRO_LETTER_PATTERN_EXP">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MACRO_LETTER_PATTERN"><!-- --></A><H3>
+MACRO_LETTER_PATTERN</H3>
+<PRE>
+static final java.lang.String <B>MACRO_LETTER_PATTERN</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.MACRO_LETTER_PATTERN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TRANSFORMERS_REGEX"><!-- --></A><H3>
+TRANSFORMERS_REGEX</H3>
+<PRE>
+static final java.lang.String <B>TRANSFORMERS_REGEX</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.TRANSFORMERS_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DELEMITER_REGEX"><!-- --></A><H3>
+DELEMITER_REGEX</H3>
+<PRE>
+static final java.lang.String <B>DELEMITER_REGEX</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.DELEMITER_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MACRO_LETTERS_REGEX"><!-- --></A><H3>
+MACRO_LETTERS_REGEX</H3>
+<PRE>
+static final java.lang.String <B>MACRO_LETTERS_REGEX</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.MACRO_LETTERS_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MACRO_EXPAND_REGEX"><!-- --></A><H3>
+MACRO_EXPAND_REGEX</H3>
+<PRE>
+static final java.lang.String <B>MACRO_EXPAND_REGEX</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.MACRO_EXPAND_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MACRO_LITERAL_REGEX"><!-- --></A><H3>
+MACRO_LITERAL_REGEX</H3>
+<PRE>
+static final java.lang.String <B>MACRO_LITERAL_REGEX</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.MACRO_LITERAL_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MACRO_STRING_REGEX_TOKEN"><!-- --></A><H3>
+MACRO_STRING_REGEX_TOKEN</H3>
+<PRE>
+static final java.lang.String <B>MACRO_STRING_REGEX_TOKEN</B></PRE>
+<DL>
+<DD>This is used by the MacroExpander
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.MACRO_STRING_REGEX_TOKEN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MACRO_STRING_REGEX"><!-- --></A><H3>
+MACRO_STRING_REGEX</H3>
+<PRE>
+static final java.lang.String <B>MACRO_STRING_REGEX</B></PRE>
+<DL>
+<DD>ABNF: macro-string = *( macro-expand / macro-literal )
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.MACRO_STRING_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ALPHA_DIGIT_PATTERN"><!-- --></A><H3>
+ALPHA_DIGIT_PATTERN</H3>
+<PRE>
+static final java.lang.String <B>ALPHA_DIGIT_PATTERN</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.ALPHA_DIGIT_PATTERN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TOP_LABEL_REGEX"><!-- --></A><H3>
+TOP_LABEL_REGEX</H3>
+<PRE>
+static final java.lang.String <B>TOP_LABEL_REGEX</B></PRE>
+<DL>
+<DD>ABNF: toplabel = ( *alphanum ALPHA *alphanum ) / ( 1*alphanum "-" *(
+ alphanum / "-" ) alphanum ) ; LDH rule plus additional TLD restrictions ;
+ (see [RFC3696], Section 2)
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.TOP_LABEL_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DOMAIN_END_REGEX"><!-- --></A><H3>
+DOMAIN_END_REGEX</H3>
+<PRE>
+static final java.lang.String <B>DOMAIN_END_REGEX</B></PRE>
+<DL>
+<DD>ABNF: domain-end = ( "." toplabel [ "." ] ) / macro-expand
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.DOMAIN_END_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DOMAIN_SPEC_REGEX"><!-- --></A><H3>
+DOMAIN_SPEC_REGEX</H3>
+<PRE>
+static final java.lang.String <B>DOMAIN_SPEC_REGEX</B></PRE>
+<DL>
+<DD>ABNF: domain-spec = macro-string domain-end
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.DOMAIN_SPEC_REGEX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DOMAIN_SPEC_REGEX_R"><!-- --></A><H3>
+DOMAIN_SPEC_REGEX_R</H3>
+<PRE>
+static final java.lang.String <B>DOMAIN_SPEC_REGEX_R</B></PRE>
+<DL>
+<DD>Spring MACRO_STRING from DOMAIN_END (domain end starts with .)
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.james.jspf.core.SPFTermsRegexps.DOMAIN_SPEC_REGEX_R">Constant Field Values</A></DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SPFTermsRegexps.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../../org/apache/james/jspf/core/SPFSession.html" title="class in org.apache.james.jspf.core"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html?org/apache/james/jspf/core/SPFTermsRegexps.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SPFTermsRegexps.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2007 <a href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.
+</BODY>
+</HTML>