view Lib/IMPL/Object/Accessor.pm @ 259:b92f19630d33

Merge with 91bae9f41a9cf2d52f5cff5a5c3e7c8683c7d47e
author sergey
date Fri, 21 Dec 2012 00:09:11 +0400
parents 6d8092d8ce1b
children 4ddb27ff4a0b
line wrap: on
line source

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

require IMPL::Class::Property::Accessor;

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;
}

__PACKAGE__->static_accessor( propertyInfoClass => 'IMPL::Class::AccessorPropertyInfo' );

sub _PropertyImplementor {
    'IMPL::Class::Property::Accessor'
}

1;