# SQL::Statement::TermFactory - phpMan

## 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)
    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.

