de.mguennewig.pobjects
Class Terms

java.lang.Object
  extended by de.mguennewig.pobjects.Terms

public final class Terms
extends java.lang.Object

A collection of utility methods to process Terms in-memory.

Author:
Michael Günnewig

Method Summary
static java.lang.Object evalCast(Cast cast, Record rec)
          Evaluates a Cast.
static java.lang.Object evalFctCall(FctCall f, Record obj)
          Evaluates a FctCall.
static java.lang.Boolean evalJunction(Junction j, Record rec)
           
static java.lang.Object evalMember(Member m, Record rec)
           
static java.lang.Boolean evalPredicate(Predicate pred, Record rec)
           
static java.lang.Object evalTerm(Term term, Record rec)
          Evaluates a Term.
static java.util.Set<java.lang.Integer> getMemberBaseColumns(Term t)
          Returns the set of affected base columns.
static java.lang.String likeExprToRegex(java.lang.String likeExpr)
          Converts a LIKE expression string to a regular expression.
static Term reduceNots(Term t)
          Traverse the predicate, looking for NOTs to take care of.
static java.lang.Boolean sqlAnd(java.lang.Boolean b1, java.lang.Boolean b2)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

reduceNots

public static Term reduceNots(Term t)
Traverse the predicate, looking for NOTs to take care of.

For NOT clauses, apply pushNots(Term) to try to push down the NOT. For AND and OR clause types, simply recurse. Otherwise stop recursing.


evalTerm

public static java.lang.Object evalTerm(Term term,
                                        Record rec)
Evaluates a Term.

Parameters:
term -
rec - The record that will be referenced if term contains a Member.
Throws:
java.lang.UnsupportedOperationException - if the term can not be evaluated in memory.

evalCast

public static java.lang.Object evalCast(Cast cast,
                                        Record rec)
Evaluates a Cast.

Throws:
java.lang.UnsupportedOperationException - if cast is not supported.

evalFctCall

public static java.lang.Object evalFctCall(FctCall f,
                                           Record obj)
Evaluates a FctCall.

Throws:
java.lang.UnsupportedOperationException - if function is not supported.

evalJunction

public static java.lang.Boolean evalJunction(Junction j,
                                             Record rec)

evalMember

public static java.lang.Object evalMember(Member m,
                                          Record rec)

evalPredicate

public static java.lang.Boolean evalPredicate(Predicate pred,
                                              Record rec)

getMemberBaseColumns

public static java.util.Set<java.lang.Integer> getMemberBaseColumns(Term t)
Returns the set of affected base columns.


likeExprToRegex

public static java.lang.String likeExprToRegex(java.lang.String likeExpr)
Converts a LIKE expression string to a regular expression.


sqlAnd

public static java.lang.Boolean sqlAnd(java.lang.Boolean b1,
                                       java.lang.Boolean b2)