Mercurial > pub > Impl
view Lib/IMPL/Web/View/Metadata/FormMeta.pm @ 364:82b6c967bcf1
sync, working on metadata
author | cin |
---|---|
date | Fri, 29 Nov 2013 16:33:07 +0400 |
parents | d67e45705be5 |
children | 7c621bb95e53 |
line wrap: on
line source
package IMPL::Web::View::Metadata::FormMeta; use strict; use IMPL::Const qw(:prop); use IMPL::declare { require => { Exception => 'IMPL::Exception', ArgException => '-IMPL::InvalidArgumentException' }, base => [ 'IMPL::Web::View::Metadata::BaseMeta' => '@_' ], props => [ decl => PROP_RO, schema => PROP_RO, nodes => PROP_RO, errors => PROP_RO ] }; sub CTOR { my ($this,$provider,$model,$type,$args) = @_; if ($args) { $this->$_($args->{$_}) foreach grep $args->{$_}, qw(decl schema nodes errors); } $this->$_() || die ArgException->new($_ => "The $_ is required") foreach qw(decl schema); } sub GetOwnErrors { } 1; __END__ =pod =head1 NAME =head1 SYNOPSIS =head1 DESCRIPTION Метаданные по модели, являющейся частью формы. Элемент формы описывается несколькими компонентами: =over =item * schema Схема текущего элемента, СomlexType, SimpleType, ComplexNode или SimpleNode =item * decl Сам элемент формы, который присутствует в родительском контейнере. Объявление может совпадать со схемой в случае, когда это был SimpleNode или ComplexNode, иначе это Node ссылающийся на заранее обпределенный тип. =item * nodes Список узлов документа, которые являются экземплярами текущего элемента, в случае, если этот элемен не является множественным (maxOccur=1), тогда здесь должен быть только один элемент. =item * errors Список ошибок относящихся к данному элементу. =back =cut