blob: efd686ee10b19d16db888c099c5be39000547cf7 [file] [log] [blame]
<!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_06) on Wed Jul 19 14:45:49 EDT 2006 -->
<TITLE>
Expression (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.cayenne.exp.Expression class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../apache-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="Expression (Apache Cayenne API Documentation - v.2.0-incubating-SNAPSHOT)";
}
</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="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-files/index-1.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/cayenne/exp/BinaryExpression.html" title="class in org.apache.cayenne.exp"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/exp/ExpressionException.html" title="class in org.apache.cayenne.exp"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/exp/Expression.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Expression.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.cayenne.exp</FONT>
<BR>
Class Expression</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cayenne.exp.Expression</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../../../org/apache/cayenne/util/XMLSerializable.html" title="interface in org.apache.cayenne.util">XMLSerializable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/cayenne/exp/BinaryExpression.html" title="class in org.apache.cayenne.exp">BinaryExpression</A>, <A HREF="../../../../org/apache/cayenne/exp/ListExpression.html" title="class in org.apache.cayenne.exp">ListExpression</A>, <A HREF="../../../../org/apache/cayenne/exp/parser/SimpleNode.html" title="class in org.apache.cayenne.exp.parser">SimpleNode</A>, <A HREF="../../../../org/apache/cayenne/exp/TernaryExpression.html" title="class in org.apache.cayenne.exp">TernaryExpression</A>, <A HREF="../../../../org/apache/cayenne/exp/UnaryExpression.html" title="class in org.apache.cayenne.exp">UnaryExpression</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>Expression</B><DT>extends java.lang.Object<DT>implements java.io.Serializable, <A HREF="../../../../org/apache/cayenne/util/XMLSerializable.html" title="interface in org.apache.cayenne.util">XMLSerializable</A></DL>
</PRE>
<P>
Superclass of Cayenne expressions that defines basic API for expressions use.
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.cayenne.exp.Expression">Serialized Form</A></DL>
<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/cayenne/exp/Expression.html#ADD">ADD</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#ALL">ALL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#AND">AND</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#ANY">ANY</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#AVG">AVG</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#BETWEEN">BETWEEN</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#COUNT">COUNT</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#DB_PATH">DB_PATH</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expression describes a path relative to a DbEntity.</TD>
</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/cayenne/exp/Expression.html#DIVIDE">DIVIDE</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#EQUAL_TO">EQUAL_TO</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#EXISTS">EXISTS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#GREATER_THAN">GREATER_THAN</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#GREATER_THAN_EQUAL_TO">GREATER_THAN_EQUAL_TO</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#IN">IN</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#LESS_THAN">LESS_THAN</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#LESS_THAN_EQUAL_TO">LESS_THAN_EQUAL_TO</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#LIKE">LIKE</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#LIKE_IGNORE_CASE">LIKE_IGNORE_CASE</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#LIST">LIST</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interpreted as a comma-separated list of literals.</TD>
</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/cayenne/exp/Expression.html#MAX">MAX</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#MIN">MIN</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#MULTIPLY">MULTIPLY</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#NEGATIVE">NEGATIVE</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#NOT">NOT</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#NOT_BETWEEN">NOT_BETWEEN</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#NOT_EQUAL_TO">NOT_EQUAL_TO</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#NOT_IN">NOT_IN</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#NOT_LIKE">NOT_LIKE</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#NOT_LIKE_IGNORE_CASE">NOT_LIKE_IGNORE_CASE</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#OBJ_PATH">OBJ_PATH</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Expression describes a path relative to an ObjEntity.</TD>
</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/cayenne/exp/Expression.html#OR">OR</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#POSITIVE">POSITIVE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#PRUNED_NODE">PRUNED_NODE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A value that a Transformer might return to indicate that a node has to be pruned
from the expression during the transformation.</TD>
</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/cayenne/exp/Expression.html#RAW_SQL">RAW_SQL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#SOME">SOME</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#SUBQUERY">SUBQUERY</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</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/cayenne/exp/Expression.html#SUBTRACT">SUBTRACT</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#SUM">SUM</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#type">type</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/cayenne/exp/Expression.html#Expression()">Expression</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#andExp(org.apache.cayenne.exp.Expression)">andExp</A></B>(<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;exp)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chains this expression with another expression using "and".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#deepCopy()">deepCopy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clones this expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#encodeAsString(java.io.PrintWriter)">encodeAsString</A></B>(java.io.PrintWriter&nbsp;pw)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores a String representation of Expression using a provided PrintWriter.</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/cayenne/exp/Expression.html#encodeAsXML(org.apache.cayenne.util.XMLEncoder)">encodeAsXML</A></B>(<A HREF="../../../../org/apache/cayenne/util/XMLEncoder.html" title="class in org.apache.cayenne.util">XMLEncoder</A>&nbsp;encoder)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encodes itself, wrapping the string into XML CDATA section.</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/cayenne/exp/Expression.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;object)</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>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#evaluate(java.lang.Object)">evaluate</A></B>(java.lang.Object&nbsp;o)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates expression value with object as a context for path expressions.</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/cayenne/exp/Expression.html#expName()">expName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns String label for this expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#expWithParameters(java.util.Map)">expWithParameters</A></B>(java.util.Map&nbsp;parameters)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A shortcut for <code>expWithParams(params, true)</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#expWithParameters(java.util.Map, boolean)">expWithParameters</A></B>(java.util.Map&nbsp;parameters,
boolean&nbsp;pruneMissing)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns a new Expression instance using this expression as a prototype.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Collection</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#filter(java.util.Collection, java.util.Collection)">filter</A></B>(java.util.Collection&nbsp;source,
java.util.Collection&nbsp;target)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds objects matching this expression from the source collection to the target
collection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#filterObjects(java.util.List)">filterObjects</A></B>(java.util.List&nbsp;objects)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of objects that match the expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#flattenTree()">flattenTree</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restructures expression to make sure that there are no children of the same type as
this expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#fromString(java.lang.String)">fromString</A></B>(java.lang.String&nbsp;expressionString)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parses string, converting it to Expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#getOperand(int)">getOperand</A></B>(int&nbsp;index)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a value of operand at <code>index</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#getOperandCount()">getOperandCount</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a count of operands of this expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#getType()">getType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a type of expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#joinExp(int, org.apache.cayenne.exp.Expression)">joinExp</A></B>(int&nbsp;type,
<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;exp)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new expression that joins this object with another expression, using
specified join type.</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/cayenne/exp/Expression.html#match(java.lang.Object)">match</A></B>(java.lang.Object&nbsp;o)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates expression boolean value with object as a context for path expressions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#notExp()">notExp</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a logical NOT of current expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#orExp(org.apache.cayenne.exp.Expression)">orExp</A></B>(<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;exp)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chains this expression with another expression using "or".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#pruneNodeForPrunedChild(java.lang.Object)">pruneNodeForPrunedChild</A></B>(java.lang.Object&nbsp;prunedChild)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this node should be pruned from expression tree in the event a
child is removed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#setOperand(int, java.lang.Object)">setOperand</A></B>(int&nbsp;index,
java.lang.Object&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a value of operand at <code>index</code>.</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/cayenne/exp/Expression.html#setType(int)">setType</A></B>(int&nbsp;type)</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>abstract &nbsp;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#shallowCopy()">shallowCopy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a copy of this expression node, without copying children.</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/cayenne/exp/Expression.html#toString()">toString</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;<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#transform(org.apache.commons.collections.Transformer)">transform</A></B>(org.apache.commons.collections.Transformer&nbsp;transformer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a transformed copy of this expression, applying transformation provided by
Transformer to all its nodes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#transformExpression(org.apache.commons.collections.Transformer)">transformExpression</A></B>(org.apache.commons.collections.Transformer&nbsp;transformer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A recursive method called from "transform" to do the actual transformation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/cayenne/exp/Expression.html#traverse(org.apache.cayenne.exp.Expression, org.apache.cayenne.exp.TraversalHandler)">traverse</A></B>(<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;parentExp,
<A HREF="../../../../org/apache/cayenne/exp/TraversalHandler.html" title="interface in org.apache.cayenne.exp">TraversalHandler</A>&nbsp;visitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Traverses itself and child expressions, notifying visitor via callback methods as
it goes.</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/cayenne/exp/Expression.html#traverse(org.apache.cayenne.exp.TraversalHandler)">traverse</A></B>(<A HREF="../../../../org/apache/cayenne/exp/TraversalHandler.html" title="interface in org.apache.cayenne.exp">TraversalHandler</A>&nbsp;visitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Traverses itself and child expressions, notifying visitor via callback methods as
it goes.</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, finalize, getClass, hashCode, notify, notifyAll, 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="PRUNED_NODE"><!-- --></A><H3>
PRUNED_NODE</H3>
<PRE>
public static final java.lang.Object <B>PRUNED_NODE</B></PRE>
<DL>
<DD>A value that a Transformer might return to indicate that a node has to be pruned
from the expression during the transformation.
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DL>
<HR>
<A NAME="AND"><!-- --></A><H3>
AND</H3>
<PRE>
public static final int <B>AND</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.AND">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="OR"><!-- --></A><H3>
OR</H3>
<PRE>
public static final int <B>OR</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.OR">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NOT"><!-- --></A><H3>
NOT</H3>
<PRE>
public static final int <B>NOT</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.NOT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="EQUAL_TO"><!-- --></A><H3>
EQUAL_TO</H3>
<PRE>
public static final int <B>EQUAL_TO</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.EQUAL_TO">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NOT_EQUAL_TO"><!-- --></A><H3>
NOT_EQUAL_TO</H3>
<PRE>
public static final int <B>NOT_EQUAL_TO</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.NOT_EQUAL_TO">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="LESS_THAN"><!-- --></A><H3>
LESS_THAN</H3>
<PRE>
public static final int <B>LESS_THAN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.LESS_THAN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="GREATER_THAN"><!-- --></A><H3>
GREATER_THAN</H3>
<PRE>
public static final int <B>GREATER_THAN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.GREATER_THAN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="LESS_THAN_EQUAL_TO"><!-- --></A><H3>
LESS_THAN_EQUAL_TO</H3>
<PRE>
public static final int <B>LESS_THAN_EQUAL_TO</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.LESS_THAN_EQUAL_TO">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="GREATER_THAN_EQUAL_TO"><!-- --></A><H3>
GREATER_THAN_EQUAL_TO</H3>
<PRE>
public static final int <B>GREATER_THAN_EQUAL_TO</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.GREATER_THAN_EQUAL_TO">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="BETWEEN"><!-- --></A><H3>
BETWEEN</H3>
<PRE>
public static final int <B>BETWEEN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.BETWEEN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="IN"><!-- --></A><H3>
IN</H3>
<PRE>
public static final int <B>IN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.IN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="LIKE"><!-- --></A><H3>
LIKE</H3>
<PRE>
public static final int <B>LIKE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.LIKE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="LIKE_IGNORE_CASE"><!-- --></A><H3>
LIKE_IGNORE_CASE</H3>
<PRE>
public static final int <B>LIKE_IGNORE_CASE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.LIKE_IGNORE_CASE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ADD"><!-- --></A><H3>
ADD</H3>
<PRE>
public static final int <B>ADD</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.ADD">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="SUBTRACT"><!-- --></A><H3>
SUBTRACT</H3>
<PRE>
public static final int <B>SUBTRACT</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.SUBTRACT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="MULTIPLY"><!-- --></A><H3>
MULTIPLY</H3>
<PRE>
public static final int <B>MULTIPLY</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.MULTIPLY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="DIVIDE"><!-- --></A><H3>
DIVIDE</H3>
<PRE>
public static final int <B>DIVIDE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.DIVIDE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NEGATIVE"><!-- --></A><H3>
NEGATIVE</H3>
<PRE>
public static final int <B>NEGATIVE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.NEGATIVE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="OBJ_PATH"><!-- --></A><H3>
OBJ_PATH</H3>
<PRE>
public static final int <B>OBJ_PATH</B></PRE>
<DL>
<DD>Expression describes a path relative to an ObjEntity. OBJ_PATH expression is
resolved relative to some root ObjEntity. Path expression components are separated
by "." (dot). Path can point to either one of these:
<ul>
<li><i>An attribute of root ObjEntity.</i> For entity Gallery OBJ_PATH expression
"galleryName" will point to ObjAttribute "galleryName"
<li><i>Another ObjEntity related to root ObjEntity via a chain of relationships.</i>
For entity Gallery OBJ_PATH expression "paintingArray.toArtist" will point to
ObjEntity "Artist"
<li><i>ObjAttribute of another ObjEntity related to root ObjEntity via a chain of
relationships.</i> For entity Gallery OBJ_PATH expression
"paintingArray.toArtist.artistName" will point to ObjAttribute "artistName"
</ul>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.OBJ_PATH">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="DB_PATH"><!-- --></A><H3>
DB_PATH</H3>
<PRE>
public static final int <B>DB_PATH</B></PRE>
<DL>
<DD>Expression describes a path relative to a DbEntity. DB_PATH expression is resolved
relative to some root DbEntity. Path expression components are separated by "."
(dot). Path can point to either one of these:
<ul>
<li><i>An attribute of root DbEntity.</i> For entity GALLERY, DB_PATH expression
"GALLERY_NAME" will point to a DbAttribute "GALLERY_NAME". </li>
<li><i>Another DbEntity related to root DbEntity via a chain of relationships.</i>
For entity GALLERY DB_PATH expression "paintingArray.toArtist" will point to
DbEntity "ARTIST". </li>
<li><i>DbAttribute of another ObjEntity related to root DbEntity via a chain of
relationships.</i> For entity GALLERY DB_PATH expression
"paintingArray.toArtist.ARTIST_NAME" will point to DbAttribute "ARTIST_NAME". </li>
</ul>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.DB_PATH">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="LIST"><!-- --></A><H3>
LIST</H3>
<PRE>
public static final int <B>LIST</B></PRE>
<DL>
<DD>Interpreted as a comma-separated list of literals.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.LIST">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NOT_BETWEEN"><!-- --></A><H3>
NOT_BETWEEN</H3>
<PRE>
public static final int <B>NOT_BETWEEN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.NOT_BETWEEN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NOT_IN"><!-- --></A><H3>
NOT_IN</H3>
<PRE>
public static final int <B>NOT_IN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.NOT_IN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NOT_LIKE"><!-- --></A><H3>
NOT_LIKE</H3>
<PRE>
public static final int <B>NOT_LIKE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.NOT_LIKE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NOT_LIKE_IGNORE_CASE"><!-- --></A><H3>
NOT_LIKE_IGNORE_CASE</H3>
<PRE>
public static final int <B>NOT_LIKE_IGNORE_CASE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.NOT_LIKE_IGNORE_CASE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="EXISTS"><!-- --></A><H3>
EXISTS</H3>
<PRE>
public static final int <B>EXISTS</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.EXISTS">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="POSITIVE"><!-- --></A><H3>
POSITIVE</H3>
<PRE>
public static final int <B>POSITIVE</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.POSITIVE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ALL"><!-- --></A><H3>
ALL</H3>
<PRE>
public static final int <B>ALL</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.ALL">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="SOME"><!-- --></A><H3>
SOME</H3>
<PRE>
public static final int <B>SOME</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.SOME">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ANY"><!-- --></A><H3>
ANY</H3>
<PRE>
public static final int <B>ANY</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.ANY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="RAW_SQL"><!-- --></A><H3>
RAW_SQL</H3>
<PRE>
public static final int <B>RAW_SQL</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.RAW_SQL">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="SUBQUERY"><!-- --></A><H3>
SUBQUERY</H3>
<PRE>
public static final int <B>SUBQUERY</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.SUBQUERY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="SUM"><!-- --></A><H3>
SUM</H3>
<PRE>
public static final int <B>SUM</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.SUM">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="COUNT"><!-- --></A><H3>
COUNT</H3>
<PRE>
public static final int <B>COUNT</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.COUNT">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="AVG"><!-- --></A><H3>
AVG</H3>
<PRE>
public static final int <B>AVG</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.AVG">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="MAX"><!-- --></A><H3>
MAX</H3>
<PRE>
public static final int <B>MAX</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.MAX">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="MIN"><!-- --></A><H3>
MIN</H3>
<PRE>
public static final int <B>MIN</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.cayenne.exp.Expression.MIN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="type"><!-- --></A><H3>
type</H3>
<PRE>
protected int <B>type</B></PRE>
<DL>
<DL>
</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="Expression()"><!-- --></A><H3>
Expression</H3>
<PRE>
public <B>Expression</B>()</PRE>
<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="fromString(java.lang.String)"><!-- --></A><H3>
fromString</H3>
<PRE>
public static <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>fromString</B>(java.lang.String&nbsp;expressionString)</PRE>
<DL>
<DD>Parses string, converting it to Expression. If string does not represent a
semantically correct expression, an ExpressionException is thrown.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="expName()"><!-- --></A><H3>
expName</H3>
<PRE>
public java.lang.String <B>expName</B>()</PRE>
<DL>
<DD>Returns String label for this expression. Used for debugging.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(java.lang.Object&nbsp;object)</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>equals</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getType()"><!-- --></A><H3>
getType</H3>
<PRE>
public int <B>getType</B>()</PRE>
<DL>
<DD>Returns a type of expression. Most common types are defined as public static fields
of this interface.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setType(int)"><!-- --></A><H3>
setType</H3>
<PRE>
public void <B>setType</B>(int&nbsp;type)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="expWithParameters(java.util.Map)"><!-- --></A><H3>
expWithParameters</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>expWithParameters</B>(java.util.Map&nbsp;parameters)</PRE>
<DL>
<DD>A shortcut for <code>expWithParams(params, true)</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="expWithParameters(java.util.Map, boolean)"><!-- --></A><H3>
expWithParameters</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>expWithParameters</B>(java.util.Map&nbsp;parameters,
boolean&nbsp;pruneMissing)</PRE>
<DL>
<DD>Creates and returns a new Expression instance using this expression as a prototype.
All ExpressionParam operands are substituted with the values in the
<code>params</code> map.
<p>
<i>Null values in the <code>params</code> map should be explicitly created in the
map for the corresponding key. </i>
</p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parameters</CODE> - a map of parameters, with each key being a string name of an
expression parameter, and value being the value that should be used in
the final expression.<DD><CODE>pruneMissing</CODE> - If <code>true</code>, subexpressions that rely on missing
parameters will be pruned from the resulting tree. If <code>false</code>,
any missing values will generate an exception.
<DT><B>Returns:</B><DD>Expression resulting from the substitution of parameters with real values,
or null if the whole expression was pruned, due to the missing parameters.</DL>
</DD>
</DL>
<HR>
<A NAME="joinExp(int, org.apache.cayenne.exp.Expression)"><!-- --></A><H3>
joinExp</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>joinExp</B>(int&nbsp;type,
<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;exp)</PRE>
<DL>
<DD>Creates a new expression that joins this object with another expression, using
specified join type. It is very useful for incrementally building chained
expressions, like long AND or OR statements.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="andExp(org.apache.cayenne.exp.Expression)"><!-- --></A><H3>
andExp</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>andExp</B>(<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;exp)</PRE>
<DL>
<DD>Chains this expression with another expression using "and".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="orExp(org.apache.cayenne.exp.Expression)"><!-- --></A><H3>
orExp</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>orExp</B>(<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;exp)</PRE>
<DL>
<DD>Chains this expression with another expression using "or".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="notExp()"><!-- --></A><H3>
notExp</H3>
<PRE>
public abstract <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>notExp</B>()</PRE>
<DL>
<DD>Returns a logical NOT of current expression.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.0.6</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getOperandCount()"><!-- --></A><H3>
getOperandCount</H3>
<PRE>
public abstract int <B>getOperandCount</B>()</PRE>
<DL>
<DD>Returns a count of operands of this expression. In real life there are unary (count ==
1), binary (count == 2) and ternary (count == 3) expressions.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getOperand(int)"><!-- --></A><H3>
getOperand</H3>
<PRE>
public abstract java.lang.Object <B>getOperand</B>(int&nbsp;index)</PRE>
<DL>
<DD>Returns a value of operand at <code>index</code>. Operand indexing starts at 0.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setOperand(int, java.lang.Object)"><!-- --></A><H3>
setOperand</H3>
<PRE>
public abstract void <B>setOperand</B>(int&nbsp;index,
java.lang.Object&nbsp;value)</PRE>
<DL>
<DD>Sets a value of operand at <code>index</code>. Operand indexing starts at 0.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="evaluate(java.lang.Object)"><!-- --></A><H3>
evaluate</H3>
<PRE>
public abstract java.lang.Object <B>evaluate</B>(java.lang.Object&nbsp;o)</PRE>
<DL>
<DD>Calculates expression value with object as a context for path expressions.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="match(java.lang.Object)"><!-- --></A><H3>
match</H3>
<PRE>
public boolean <B>match</B>(java.lang.Object&nbsp;o)</PRE>
<DL>
<DD>Calculates expression boolean value with object as a context for path expressions.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="filterObjects(java.util.List)"><!-- --></A><H3>
filterObjects</H3>
<PRE>
public java.util.List <B>filterObjects</B>(java.util.List&nbsp;objects)</PRE>
<DL>
<DD>Returns a list of objects that match the expression.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="filter(java.util.Collection, java.util.Collection)"><!-- --></A><H3>
filter</H3>
<PRE>
public java.util.Collection <B>filter</B>(java.util.Collection&nbsp;source,
java.util.Collection&nbsp;target)</PRE>
<DL>
<DD>Adds objects matching this expression from the source collection to the target
collection.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="deepCopy()"><!-- --></A><H3>
deepCopy</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>deepCopy</B>()</PRE>
<DL>
<DD>Clones this expression.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="shallowCopy()"><!-- --></A><H3>
shallowCopy</H3>
<PRE>
public abstract <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>shallowCopy</B>()</PRE>
<DL>
<DD>Creates a copy of this expression node, without copying children.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="pruneNodeForPrunedChild(java.lang.Object)"><!-- --></A><H3>
pruneNodeForPrunedChild</H3>
<PRE>
protected abstract boolean <B>pruneNodeForPrunedChild</B>(java.lang.Object&nbsp;prunedChild)</PRE>
<DL>
<DD>Returns true if this node should be pruned from expression tree in the event a
child is removed.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="flattenTree()"><!-- --></A><H3>
flattenTree</H3>
<PRE>
protected abstract void <B>flattenTree</B>()</PRE>
<DL>
<DD>Restructures expression to make sure that there are no children of the same type as
this expression.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="traverse(org.apache.cayenne.exp.TraversalHandler)"><!-- --></A><H3>
traverse</H3>
<PRE>
public void <B>traverse</B>(<A HREF="../../../../org/apache/cayenne/exp/TraversalHandler.html" title="interface in org.apache.cayenne.exp">TraversalHandler</A>&nbsp;visitor)</PRE>
<DL>
<DD>Traverses itself and child expressions, notifying visitor via callback methods as
it goes. This is an Expression-specific implementation of the "Visitor" design
pattern.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="traverse(org.apache.cayenne.exp.Expression, org.apache.cayenne.exp.TraversalHandler)"><!-- --></A><H3>
traverse</H3>
<PRE>
protected void <B>traverse</B>(<A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A>&nbsp;parentExp,
<A HREF="../../../../org/apache/cayenne/exp/TraversalHandler.html" title="interface in org.apache.cayenne.exp">TraversalHandler</A>&nbsp;visitor)</PRE>
<DL>
<DD>Traverses itself and child expressions, notifying visitor via callback methods as
it goes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="transform(org.apache.commons.collections.Transformer)"><!-- --></A><H3>
transform</H3>
<PRE>
public <A HREF="../../../../org/apache/cayenne/exp/Expression.html" title="class in org.apache.cayenne.exp">Expression</A> <B>transform</B>(org.apache.commons.collections.Transformer&nbsp;transformer)</PRE>
<DL>
<DD>Creates a transformed copy of this expression, applying transformation provided by
Transformer to all its nodes. Null transformer will result in an identical deep
copy of this expression.
<p>
To force a node and its children to be pruned from the copy, Transformer should
return Expression.PRUNED_NODE. Otherwise an expectation is that if a node is an
Expression it must be transformed to null or another Expression. Any other object
type would result in a ExpressionException.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="transformExpression(org.apache.commons.collections.Transformer)"><!-- --></A><H3>
transformExpression</H3>
<PRE>
protected java.lang.Object <B>transformExpression</B>(org.apache.commons.collections.Transformer&nbsp;transformer)</PRE>
<DL>
<DD>A recursive method called from "transform" to do the actual transformation.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>null, Expression.PRUNED_NODE or transformed expression.<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="encodeAsXML(org.apache.cayenne.util.XMLEncoder)"><!-- --></A><H3>
encodeAsXML</H3>
<PRE>
public void <B>encodeAsXML</B>(<A HREF="../../../../org/apache/cayenne/util/XMLEncoder.html" title="class in org.apache.cayenne.util">XMLEncoder</A>&nbsp;encoder)</PRE>
<DL>
<DD>Encodes itself, wrapping the string into XML CDATA section.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/cayenne/util/XMLSerializable.html#encodeAsXML(org.apache.cayenne.util.XMLEncoder)">encodeAsXML</A></CODE> in interface <CODE><A HREF="../../../../org/apache/cayenne/util/XMLSerializable.html" title="interface in org.apache.cayenne.util">XMLSerializable</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="encodeAsString(java.io.PrintWriter)"><!-- --></A><H3>
encodeAsString</H3>
<PRE>
public abstract void <B>encodeAsString</B>(java.io.PrintWriter&nbsp;pw)</PRE>
<DL>
<DD>Stores a String representation of Expression using a provided PrintWriter.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>1.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</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="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-files/index-1.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/cayenne/exp/BinaryExpression.html" title="class in org.apache.cayenne.exp"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/cayenne/exp/ExpressionException.html" title="class in org.apache.cayenne.exp"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/cayenne/exp/Expression.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Expression.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>
<i>Copyright &#169; 2001-2006 <a href=
"http://apache.org" target="_top">Apache.org</a> All Rights Reserved.</i>
</BODY>
</HTML>