diff Lib/IMPL/Security/Principal.pm @ 230:6d8092d8ce1b

*reworked IMPL::Security *reworked IMPL::Web::Security *refactoring
author sergey
date Mon, 08 Oct 2012 03:37:37 +0400
parents d1676be8afcc
children 16ff604298c7
line wrap: on
line diff
--- a/Lib/IMPL/Security/Principal.pm	Sat Sep 29 02:34:47 2012 +0400
+++ b/Lib/IMPL/Security/Principal.pm	Mon Oct 08 03:37:37 2012 +0400
@@ -2,15 +2,22 @@
 use strict;
 use warnings;
 
-use parent qw(IMPL::Object IMPL::Object::Autofill);
-use IMPL::Class::Property;
-
-__PACKAGE__->PassThroughArgs;
+use IMPL::Const qw(:prop);
+use IMPL::require {
+    AbstractPrincipal => 'IMPL::Security::AbstractPrincipal'
+};
+use IMPL::declare {
+    base => [
+        'IMPL::Object' => undef,
+        'IMPL::Object::Autofill' => '@_',
+        'IMPL::Security::AbstractPrincipal' => undef
+    ],
+    props => [
+        @{AbstractPrincipal->abstractProps()}
+    ]
+};
 
-BEGIN {
-    public property name => prop_get;
-    public property description => prop_all;
-}
+__PACKAGE__->abstractProps([]);
 
 my $nobody;