Mercurial > pub > Impl
view Lib/IMPL/Object/PublicSerializable.pm @ 104:196bf443b5e1
DOM::Schema RC0 inflators support, validation and some other things,
Minor and major fixes almost for everything.
A 'Source' property of the ValidationErrors generated from a NodeSet or a NodeList is subject to change in the future.
author | wizard |
---|---|
date | Tue, 11 May 2010 02:42:59 +0400 |
parents | 8d0ae27d15c1 |
children | d1676be8afcc |
line wrap: on
line source
package IMPL::Object::PublicSerializable; use strict; use IMPL::Class::Member; 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->get_meta( 'IMPL::Class::PropertyInfo', sub { $_->Access == IMPL::Class::Member::MOD_PUBLIC and $_->canGet and not $_->ownerSet and not $seen{$_->Name} ++ }, 1 ); } 1;