diff Lib/IMPL/SQL/Schema/Column.pm @ 278:4ddb27ff4a0b

core refactoring
author cin
date Mon, 04 Feb 2013 02:10:37 +0400
parents 5c82eec23bb6
children 68d905f8dc43
line wrap: on
line diff
--- a/Lib/IMPL/SQL/Schema/Column.pm	Fri Feb 01 16:37:59 2013 +0400
+++ b/Lib/IMPL/SQL/Schema/Column.pm	Mon Feb 04 02:10:37 2013 +0400
@@ -1,20 +1,22 @@
 use strict;
 package IMPL::SQL::Schema::Column;
-use parent qw(IMPL::Object IMPL::Object::Autofill);
 
-use IMPL::lang qw( :DEFAULT :compare :declare :hash );
-use IMPL::Class::Property::Direct;
+use IMPL::lang qw( :DEFAULT :compare :hash );
 use IMPL::Exception();
-
-BEGIN {
-    public _direct property name => PROP_GET;
-    public _direct property type => PROP_GET;
-    public _direct property isNullable => PROP_GET;
-    public _direct property defaultValue => PROP_GET;
-    public _direct property tag => PROP_GET;
-}
-
-__PACKAGE__->PassThroughArgs;
+use IMPL::Const qw(:prop);
+use IMPL::declare {
+    base => [
+        'IMPL::Object' => undef,
+        'IMPL::Object::Autofill' => '@_'
+    ],
+    props => [
+        name => PROP_RO | PROP_DIRECT,
+        type => PROP_RO | PROP_DIRECT,
+        isNullable => PROP_RO | PROP_DIRECT,
+        defaultValue => PROP_RO | PROP_DIRECT,
+        tag => PROP_RO | PROP_DIRECT
+    ]
+};
 
 sub CTOR {
     my $this = shift;