NAME

SQL::Statement::TermFactory - Factory for SQL::Statement::Term instances

SYNOPSIS

my $termFactory = SQL::Statement::TermFactory->new($stmt);
my $whereTerms = $termFactory->buildCondition( $stmt->{where_clause} );
my $col = $termFactory->buildCondition( $stmt->{col_obj}->{$name}->{content} );

DESCRIPTION

This package implements a factory to create type and operation based terms. Those terms are used to access data from the table(s) - either when evaluating the where clause or returning column data.

The concept of a factory can be studied in Design Patterns by the Gang of Four. The concept of using polymorphism instead of conditions is suggested by Martin Fowler in his book Refactoring.

METHODS

buildCondition

Builds a condition object from a given (part of a) where clause. This method calls itself recursively for predicates.

AUTHOR AND COPYRIGHT

Copyright (c) 2001,2005 by Jeff Zucker: jzuckerATcpan.org Copyright (c) 2008-2010 by Jens Rehsack: rehsackATcpan.org

Portions Copyright (C) 1998 by Jochen Wiedmann: jwiedATcpan.org

All rights reserved.

You may distribute this module under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.