1 |
package Xot::Reference; |
package Xot::Reference; |
2 |
use Xot::Field; |
use base 'Xot::Field'; |
3 |
use strict; |
use strict; |
4 |
|
|
5 |
our @ISA = ("Xot::Field"); |
Xot::Reference->plain('reference_name'); |
6 |
|
|
7 |
|
sub init |
8 |
|
{ |
9 |
|
my ($self, $table, $twig) = splice @_, 0, 3; |
10 |
|
|
11 |
|
$self->reference_name($twig->att('references')); |
12 |
|
|
13 |
|
$self->SUPER::init($table, $twig, @_); |
14 |
|
} |
15 |
|
|
16 |
|
sub type |
17 |
|
{ |
18 |
|
my $self = shift; |
19 |
|
|
20 |
|
return $self->reference && $self->reference->primary_key->type; |
21 |
|
} |
22 |
|
|
23 |
|
sub reference |
24 |
|
{ |
25 |
|
my $self = shift; |
26 |
|
|
27 |
|
return $self->table && $self->table->xot->table($self->reference_name); |
28 |
|
} |
29 |
|
|
30 |
1; |
1; |