butler.sql.filter
Class RecursiveFilter

java.lang.Object
  extended by butler.sql.filter.Filter
      extended by butler.sql.filter.RecursiveFilter
Direct Known Subclasses:
AndFilter, NestedFilter, NotFilter, OrFilter

public class RecursiveFilter
extends Filter

Superclass for "recursive" filters like and, or, etc.

Author:
Fredrik Bertilsson

Field Summary
protected  java.util.List _childFilters
           
protected  java.lang.String _operator
           
 
Constructor Summary
RecursiveFilter()
           
RecursiveFilter(java.lang.String operator)
          Constructs a Recursive filter with no child filters.
RecursiveFilter(java.lang.String operator, Filter filterA, Filter filterB)
          Constructs a RecursiveFilter with two child filters.
 
Method Summary
 void addChildFilter(Filter filter)
          Adds an addChildFilter.
 void copy(RecursiveFilter filter)
           
 int createId(int lastId)
           
 Filter[] getChildren()
          Returns all child filters.
 Filter getFilter(java.lang.Object id)
           
 Filter getFilterA()
          Return first (left) child filter.
 Filter getFilterB()
          Return second (right) child filter.
 java.util.List getLeafFilters()
           
 java.lang.String getSQL()
           
 java.util.List getValues(QueryParams params)
           
 Filter modify(QueryParams params)
           
static void parse2(RecursiveFilter filter, org.dom4j.Element element, java.util.Map tableDictonary)
           
 void replaceChild(int i, Filter child)
          Replace a child filter with the given position.
 void reset()
          Clear child filters.
 void toXML(org.xml.sax.ContentHandler handler)
           
 
Methods inherited from class butler.sql.filter.Filter
and, copy, equals, filter, getCaption, getId, getNestedQuery, getOperator, getParamDatatypes, getValues, hashCode, not, or, params2db, parseFilter, registerFilterParser, setCaption, setId, setOperator, setSize, setSize, toXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_operator

protected java.lang.String _operator

_childFilters

protected java.util.List _childFilters
Constructor Detail

RecursiveFilter

public RecursiveFilter(java.lang.String operator,
                       Filter filterA,
                       Filter filterB)
Constructs a RecursiveFilter with two child filters.

Parameters:
operator - "and", "or", etc
filterA - Left sub-filter
filterB - Right sub-filter

RecursiveFilter

public RecursiveFilter(java.lang.String operator)
Constructs a Recursive filter with no child filters. Child filters should be added by addChildFilter.

Parameters:
operator - "and", "or", etc

RecursiveFilter

public RecursiveFilter()
Method Detail

reset

public void reset()
Clear child filters.


addChildFilter

public void addChildFilter(Filter filter)
Adds an addChildFilter. There can be unlimited number of child filters.


replaceChild

public void replaceChild(int i,
                         Filter child)
Replace a child filter with the given position.


getChildren

public Filter[] getChildren()
Returns all child filters.


getFilterA

public Filter getFilterA()
Return first (left) child filter.


getFilterB

public Filter getFilterB()
Return second (right) child filter.


getSQL

public java.lang.String getSQL()
                        throws java.lang.Exception
Overrides:
getSQL in class Filter
Throws:
java.lang.Exception

getLeafFilters

public java.util.List getLeafFilters()
Overrides:
getLeafFilters in class Filter

toXML

public void toXML(org.xml.sax.ContentHandler handler)
           throws java.lang.Exception
Overrides:
toXML in class Filter
Throws:
java.lang.Exception

parse2

public static void parse2(RecursiveFilter filter,
                          org.dom4j.Element element,
                          java.util.Map tableDictonary)
                   throws java.lang.Exception
Throws:
java.lang.Exception

copy

public void copy(RecursiveFilter filter)

modify

public Filter modify(QueryParams params)
              throws java.lang.Exception
Overrides:
modify in class Filter
Throws:
java.lang.Exception

getValues

public java.util.List getValues(QueryParams params)
                         throws java.lang.Exception
Overrides:
getValues in class Filter
Throws:
java.lang.Exception

getFilter

public Filter getFilter(java.lang.Object id)
Overrides:
getFilter in class Filter

createId

public int createId(int lastId)
Overrides:
createId in class Filter