view Lib/IMPL/Object/Accessor.pm @ 284:f2a6bc5f3184

+IMPL::Object::InlineFactory: implement object factory as subroutine
author sergey
date Thu, 14 Feb 2013 19:14:02 +0400
parents 4ddb27ff4a0b
children
line wrap: on
line source

package IMPL::Object::Accessor;
use strict;

use parent qw(
    IMPL::Object::Abstract
    Class::Accessor
);

use IMPL::require {
    ClassPropertyImplementor => '-IMPL::Code::AccessorPropertyImplementor'
};

require IMPL::Code::AccessorPropertyImplementor;

sub new {
    my $class = shift;
    my $self = $class->Class::Accessor::new( @_ == 1 && ref $_[0] && UNIVERSAL::isa($_[0],'HASH') ? $_[0] : ());
    $self->callCTOR(@_);
    return $self;
}

sub surrogate {
    $_[0]->Class::Accessor::new;
}

1;