annotate Lib/IMPL/Object/PublicSerializable.pm @ 245:7c517134c42f

Added Unsupported media type Web exception corrected resourceLocation setting in the resource Implemented localizable resources for text messages fixed TT view scopings, INIT block in controls now sets globals correctly.
author sergey
date Mon, 29 Oct 2012 03:15:22 +0400
parents 4d0e1962161c
children 4ddb27ff4a0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
60
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
1 package IMPL::Object::PublicSerializable;
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
2 use strict;
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
3
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
4 use IMPL::Class::Member;
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
5
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
6 sub restore {
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
7 my ($class,$data,$refSurrogate) = @_;
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
8
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
9 if ($refSurrogate) {
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
10 $refSurrogate->callCTOR(@$data);
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
11 return $refSurrogate;
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
12 } else {
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
13 return $class->new(@$data);
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
14 }
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
15 }
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
16
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
17 sub save {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
18 my ($this,$ctx) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
19
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
20 my %seen;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
21
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
22 my $val;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
23
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
24 defined($val = $this->$_()) and $ctx->AddVar($_,$val) foreach
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
25 map $_->Name,$this->get_meta(
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
26 'IMPL::Class::PropertyInfo',
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
27 sub {
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
28 $_->Access == IMPL::Class::Member::MOD_PUBLIC and
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
29 $_->canGet and
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
30 not $_->ownerSet and
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
31 not $seen{$_->Name} ++
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
32 },
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
33 1
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
34 );
60
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
35 }
b0c068da93ac Lazy activation for the configuration objects (final concept)
wizard
parents:
diff changeset
36
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 61
diff changeset
37 1;