comparison Lib/IMPL/Web/View/TTLoader.pm @ 196:a705e848dcc7

added IMPL::Config::Reference
author cin
date Mon, 16 Apr 2012 17:42:54 +0400
parents 7a920771fd8e
children 891c04080658
comparison
equal deleted inserted replaced
195:7a920771fd8e 196:a705e848dcc7
9 9
10 use IMPL::Web::View::TTDocument(); 10 use IMPL::Web::View::TTDocument();
11 11
12 use parent qw( 12 use parent qw(
13 IMPL::Object 13 IMPL::Object
14 IMPL::Object::Serializable
14 ); 15 );
15 16
16 BEGIN { 17 BEGIN {
17 public property options => PROP_ALL; 18 public property options => PROP_ALL;
18 public property provider => PROP_GET | PROP_OWNERSET; 19 public property provider => PROP_GET | PROP_OWNERSET;
22 23
23 public property isInitialized => PROP_GET | PROP_OWNERSET; 24 public property isInitialized => PROP_GET | PROP_OWNERSET;
24 public property initializer => PROP_GET | PROP_OWNERSET; 25 public property initializer => PROP_GET | PROP_OWNERSET;
25 26
26 private property _globals => PROP_ALL; 27 private property _globals => PROP_ALL;
28 }
29
30 sub save {
31 my ($this,$context) = @_;
32
33 $context->AddVar($_, $this->$_()) for qw(options provider context ext layoutBase);
34 }
35
36 sub restore {
37 my ($class,$data,$surrogate) = @_;
38
39 my %params = @$data;
40
41 my $refOpts = delete $params{options};
42
43 if ($surrogate){
44 $surrogate->callCTOR($refOpts,%params);
45 } else {
46 $surrogate = $class->new($refOpts,%params);
47 }
27 } 48 }
28 49
29 sub CTOR { 50 sub CTOR {
30 my ($this,$refOpts,%args) = @_; 51 my ($this,$refOpts,%args) = @_;
31 52