# SQL::Statement::TermFactory - Factory for SQL::Statement::Term instances - perldoc - [phpMan]

## NAME
    [SQL::Statement::TermFactory](https://www.chedong.com/phpMan.php/perldoc/SQL%3A%3AStatement%3A%3ATermFactory/markdown) - Factory for [SQL::Statement::Term](https://www.chedong.com/phpMan.php/perldoc/SQL%3A%3AStatement%3A%3ATerm/markdown) instances

## SYNOPSIS
      my $termFactory = [SQL::Statement::TermFactory](https://www.chedong.com/phpMan.php/perldoc/SQL%3A%3AStatement%3A%3ATermFactory/markdown)->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) 2009-2020 by Jens
    Rehsack: rehsackATcpan.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.

