Mercurial > pub > Impl
view Lib/IMPL/Object/PublicSerializable.pm @ 281:a8dbddf491dd
refactoring
*IMPL::declare reset abstractProps static property after implementing these props
*IMPL::Serialization: fixed bug with multiple text parts inside one node
*IMPL::Web::Handler::TTView: removed obsolete property 'location' from 'view' template variable
author | cin |
---|---|
date | Mon, 11 Feb 2013 00:58:22 +0400 |
parents | 4ddb27ff4a0b |
children | 8088779e539d |
line wrap: on
line source
package IMPL::Object::PublicSerializable; use strict; use IMPL::Const qw(:access); sub restore { my ($class,$data,$refSurrogate) = @_; if ($refSurrogate) { $refSurrogate->callCTOR(@$data); return $refSurrogate; } else { return $class->new(@$data); } } sub save { my ($this,$ctx) = @_; my %seen; my $val; defined($val = $this->$_()) and $ctx->AddVar($_,$val) foreach map $_->name,$this->GetMeta( 'IMPL::Class::PropertyInfo', sub { $_->access == ACCESS_PUBLIC and $_->getter and not $_->ownerSet and not $seen{$_->name} ++ }, 1 ); } 1;