annotate Lib/IMPL/Object/Accessor.pm @ 4:e59f44f75f20

DOM - в разработке Testing - по мелочи Property - изменен механизм выбора имплементора
author Sergey
date Wed, 12 Aug 2009 17:36:07 +0400
parents 03e58a454b20
children 16ada169ca75
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
1 package IMPL::Object::Accessor;
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
2 use strict;
4
e59f44f75f20 DOM - в разработке
Sergey
parents: 0
diff changeset
3 use base qw(IMPL::Object::Abstract Class::Accessor IMPL::Class::Meta);
0
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
4
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
5 sub new {
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
6 my $class = shift;
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
7 my $self = $class->Class::Accessor::new( @_ == 1 && ref $_[0] && UNIVERSAL::isa($_[0],'HASH') ? $_[0] : ());
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
8 $self->callCTOR(@_);
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
9 return $self;
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
10 }
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
11
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
12 sub surrogate {
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
13 $_[0]->Class::Accessor::new;
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
14 }
03e58a454b20 Создан репозитарий
Sergey
parents:
diff changeset
15 1;