Mercurial > pub > Impl
comparison Lib/IMPL/SQL/Schema/Column.pm @ 194:4d0e1962161c
Replaced tabs with spaces
IMPL::Web::View - fixed document model, new features (control classes, document constructor parameters)
author | cin |
---|---|
date | Tue, 10 Apr 2012 20:08:29 +0400 |
parents | 6148f89bb7bf |
children | 5c82eec23bb6 |
comparison
equal
deleted
inserted
replaced
193:8e8401c0aea4 | 194:4d0e1962161c |
---|---|
18 | 18 |
19 sub CTOR { | 19 sub CTOR { |
20 my $this = shift; | 20 my $this = shift; |
21 | 21 |
22 $this->{$name} or | 22 $this->{$name} or |
23 die new IMPL::InvalidArgumentException('A column name is required'); | 23 die new IMPL::InvalidArgumentException('A column name is required'); |
24 | 24 |
25 $this->{$isNullable} = 0 if not exists $this->{$isNullable}; | 25 $this->{$isNullable} = 0 if not exists $this->{$isNullable}; |
26 | 26 |
27 is( $this->{$type}, typeof IMPL::SQL::Schema::Type) or | 27 is( $this->{$type}, typeof IMPL::SQL::Schema::Type) or |
28 die new IMPL::InvalidArgumentException('a type is required for the column',$this->{$name}); | 28 die new IMPL::InvalidArgumentException('a type is required for the column',$this->{$name}); |
29 } | 29 } |
30 | 30 |
31 sub SameValue { | 31 sub SameValue { |
32 my ($this,$other) = @_; | 32 my ($this,$other) = @_; |
33 | 33 |
34 return ( | 34 return ( |
35 $this->{$name} eq $other->{$name} | 35 $this->{$name} eq $other->{$name} |
36 and $this->{$isNullable} == $other->{$isNullable} | 36 and $this->{$isNullable} == $other->{$isNullable} |
37 and equals_s($this->{$defaultValue}, $other->{$defaultValue}) | 37 and equals_s($this->{$defaultValue}, $other->{$defaultValue}) |
38 and $this->{$type}->SameValue($other->{$type}) | 38 and $this->{$type}->SameValue($other->{$type}) |
39 ); | 39 ); |
40 } | 40 } |
41 | 41 |
42 sub SetType { | 42 sub SetType { |
43 my ($this,$newType) = @_; | 43 my ($this,$newType) = @_; |
44 | 44 |
45 $this->{$type} = $newType; | 45 $this->{$type} = $newType; |
46 } | 46 } |
47 | 47 |
48 sub SetDefaultValue { | 48 sub SetDefaultValue { |
49 my ($this,$value) = @_; | 49 my ($this,$value) = @_; |
50 | 50 |
51 $this->{$defaultValue} = $value; | 51 $this->{$defaultValue} = $value; |
52 } | 52 } |
53 | 53 |
54 sub SetNullable { | 54 sub SetNullable { |
55 my ($this, $value) = @_; | 55 my ($this, $value) = @_; |
56 | 56 |
57 $this->{$isNullable} = $value; | 57 $this->{$isNullable} = $value; |
58 } | 58 } |
59 | 59 |
60 sub SetOptions { | 60 sub SetOptions { |
61 my ($this,$diff) = @_; | 61 my ($this,$diff) = @_; |
62 | 62 |
63 return unless ref $diff eq 'HASH'; | 63 return unless ref $diff eq 'HASH'; |
64 | 64 |
65 $this->tag({}) unless $this->tag; | 65 $this->tag({}) unless $this->tag; |
66 | 66 |
67 hashApply($this->tag,$diff); | 67 hashApply($this->tag,$diff); |
68 } | 68 } |
69 | 69 |
70 1; | 70 1; |