1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
package # hide from pause
SQL::Translator::Schema::Graph::Edge;
use strict;
use warnings;
use Class::MakeMethods::Template::Hash (
new => ['new'],
scalar => [ qw( type ) ],
array => [ qw( traversals ) ],
object => [
'thisfield' => {class => 'SQL::Translator::Schema::Field'}, #FIXME
'thatfield' => {class => 'SQL::Translator::Schema::Field'}, #FIXME
'thisnode' => {class => 'SQL::Translator::Schema::Graph::Node'},
'thatnode' => {class => 'SQL::Translator::Schema::Graph::Node'},
],
);
sub flip {
my $self = shift;
#warn "self thisfield: ".$self->thisfield->name;
#warn "self thatfield: ".$self->thatfield->name;
return SQL::Translator::Schema::Graph::Edge->new( thisfield => $self->thatfield,
thatfield => $self->thisfield,
thisnode => $self->thatnode,
thatnode => $self->thisnode,
type => $self->type eq 'import' ? 'export' : 'import'
);
}
1;
|