diff 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 diff
--- a/Lib/IMPL/Web/View/Metadata/FormMeta.pm	Fri Nov 29 11:04:19 2013 +0400
+++ b/Lib/IMPL/Web/View/Metadata/FormMeta.pm	Fri Nov 29 16:33:07 2013 +0400
@@ -3,8 +3,12 @@
 
 use IMPL::Const qw(:prop);
 use IMPL::declare {
+	require => {
+		Exception => 'IMPL::Exception',
+		ArgException => '-IMPL::InvalidArgumentException'
+	},
 	base => [
-		'IMPL::Object' => undef
+		'IMPL::Web::View::Metadata::BaseMeta' => '@_'
 	],
 	props => [
 		decl => PROP_RO,
@@ -14,6 +18,20 @@
 	]
 };
 
+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;