Mercurial > pub > Impl
comparison Lib/IMPL/Object/Accessor.pm @ 278:4ddb27ff4a0b
core refactoring
author | cin |
---|---|
date | Mon, 04 Feb 2013 02:10:37 +0400 |
parents | 6d8092d8ce1b |
children |
comparison
equal
deleted
inserted
replaced
277:6585464c4664 | 278:4ddb27ff4a0b |
---|---|
1 package IMPL::Object::Accessor; | 1 package IMPL::Object::Accessor; |
2 use strict; | 2 use strict; |
3 use parent qw(IMPL::Object::Abstract Class::Accessor IMPL::Class::Meta); | |
4 | 3 |
5 require IMPL::Class::Property::Accessor; | 4 use parent qw( |
5 IMPL::Object::Abstract | |
6 Class::Accessor | |
7 ); | |
8 | |
9 use IMPL::require { | |
10 ClassPropertyImplementor => '-IMPL::Code::AccessorPropertyImplementor' | |
11 }; | |
12 | |
13 require IMPL::Code::AccessorPropertyImplementor; | |
6 | 14 |
7 sub new { | 15 sub new { |
8 my $class = shift; | 16 my $class = shift; |
9 my $self = $class->Class::Accessor::new( @_ == 1 && ref $_[0] && UNIVERSAL::isa($_[0],'HASH') ? $_[0] : ()); | 17 my $self = $class->Class::Accessor::new( @_ == 1 && ref $_[0] && UNIVERSAL::isa($_[0],'HASH') ? $_[0] : ()); |
10 $self->callCTOR(@_); | 18 $self->callCTOR(@_); |
13 | 21 |
14 sub surrogate { | 22 sub surrogate { |
15 $_[0]->Class::Accessor::new; | 23 $_[0]->Class::Accessor::new; |
16 } | 24 } |
17 | 25 |
18 __PACKAGE__->static_accessor( propertyInfoClass => 'IMPL::Class::AccessorPropertyInfo' ); | |
19 | |
20 sub _PropertyImplementor { | |
21 'IMPL::Class::Property::Accessor' | |
22 } | |
23 | |
24 1; | 26 1; |