Mercurial > pub > Impl
view Lib/Schema/Form/Container.pm @ 19:1ca530e5c9c5
DOM схема, требует переработки в части схемы для описания схем. Автоверификация не проходит
author | Sergey |
---|---|
date | Fri, 11 Sep 2009 16:30:39 +0400 |
parents | 03e58a454b20 |
children | 16ada169ca75 |
line wrap: on
line source
package Schema::Form::Container; use Form::Container; use Common; use base qw(Schema::Form::Item); BEGIN { DeclareProperty Children => ACCESS_READ; } sub CTOR { my ($this,%args) = @_; $this->SUPER::CTOR(@args{qw(Name isMulti Filters)}); $this->{$Children} = []; } sub AddChild { my ($this,$child) = @_; not grep { $_->Name eq $child->Name } $this->Children or die new Exception("The item already exists",$child->Name); push @{$this->{$Children}},$child; } sub FindChild { my ($this,$name) = @_; my @result = grep { $_->Name eq $name} $this->Children; return $result[0]; } sub Dispose { my ($this) = @_; delete $this->{$Children}; $this->SUPER::Dispose; } 1;