#================================================== # # FILE: Table.pm # # DESCRIPTION: Abstract class to define a table # #================================================= package MySqlTools::Table; require MySqlTools::Column; require MySqlTools::ForeignKey; require MySqlTools::Index; require MySqlTools::ResultSet; require MySqlTools::Database; require Utilities::Properties; use Log::Log4perl qw(get_logger :levels); use strict; use warnings; #================================================== # # METHOD: new # #================================================ sub new { my $class = shift; my $parm = shift; . . bless( $self, $class ); return $self; } . . #=================================================== # # METHOD: addFk # #================================================== sub addFks{ my $self = shift; my $parms = shift; my $log = get_logger("MySqlTools::Table"); my $fkName = $parms->{NAME}; $parms->{OWNTABLE} = $self->{NAME}; $parms->{DBH} = $self->{DBH}; my $fk = MySqlTools::ForeignKey->new($parms); if ( !$fk ) { $log->error('FK->new failed!'); } else { ---> push @{$self->{FKS}}, $fk; } ***> return $fk; }