NAME

SQL::Statement::Term - base class for all terms

SYNOPSIS

# create a term with an SQL::Statement object as owner
my $term = SQL::Statement::Term->new( $owner );
# access the value of that term
$term->value( $eval );

DESCRIPTION

SQL::Statement::Term is an abstract base class providing the interface for all terms.

INHERITANCE

SQL::Statement::Term

METHODS

new

Instantiates new term and stores a weak reference to the owner.

value

Abstract method which will return the value of the term. Must be overridden by derived classes.

DESTROY

Destroys the term and undefines the weak reference to the owner.

NAME

SQL::Statement::ConstantTerm - term for constant values

SYNOPSIS

# create a term with an SQL::Statement object as owner
my $term = SQL::Statement::ConstantTerm->new( $owner, 'foo' );
# access the value of that term - returns 'foo'
$term->value( $eval );

DESCRIPTION

SQL::Statement::ConstantTerm implements a term which will always return the same constant value.

INHERITANCE

SQL::Statement::ConstantTerm
ISA SQL::Statement::Term

METHODS

new

Instantiates new term and stores the constant to deliver and a weak reference to the owner.

value

Returns the specified constant.

NAME

SQL::Statement::ColumnValue - term for column values

SYNOPSIS

# create a term with an SQL::Statement object as owner
my $term = SQL::Statement::ColumnValue->new( $owner, 'id' );
# access the value of that term - returns the value of the column 'id'
# of the currently active row in $eval
$term->value( $eval );

DESCRIPTION

SQL::Statement::ColumnValue implements a term which will return the specified column of the active row.

INHERITANCE

SQL::Statement::ColumnValue
ISA SQL::Statement::Term

METHODS

new

Instantiates new term and stores the column name to deliver and a weak reference to the owner.

value

Returns the specified column value.

AUTHOR AND COPYRIGHT

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.