49
|
1 package IMPL::ORM::Schema::Relation::HasOne;
|
|
2 use strict;
|
|
3 use warnings;
|
|
4
|
|
5 use base qw(IMPL::ORM::Schema::Relation);
|
|
6 use IMPL::Class::Property;
|
|
7
|
|
8 BEGIN {
|
|
9 public property target => prop_get | owner_set;
|
|
10 public property name => prop_get | owner_set;
|
|
11 }
|
|
12
|
|
13 our %CTOR = (
|
|
14 'IMPL::ORM::Schema::Relation' => sub { 'HasOne' }
|
|
15 );
|
|
16
|
|
17 sub CTOR {
|
|
18 my ($this,$name,$target) = @_;
|
|
19 $this->name($name) or die new IMPL::InvalidArgumentException('A name is required for this relation');
|
|
20 $this->target($target) or die new IMPL::InvalidArgumentException('A target is required for this relation',$name);
|
|
21 }
|
|
22
|
|
23 sub canHaveChildren {
|
|
24 0;
|
|
25 }
|
|
26
|
|
27
|
|
28 1;
|