Mercurial > pub > Impl
diff Lib/IMPL/ORM/Object.pm @ 180:d1676be8afcc
Перекодировка в utf-8
author | sourcer |
---|---|
date | Fri, 30 Dec 2011 23:40:00 +0300 |
parents | 4267a2ac3d46 |
children | 4ddb27ff4a0b |
line wrap: on
line diff
--- a/Lib/IMPL/ORM/Object.pm Tue Dec 20 23:00:30 2011 +0300 +++ b/Lib/IMPL/ORM/Object.pm Fri Dec 30 23:40:00 2011 +0300 @@ -56,7 +56,7 @@ my $schema = $surrogate || IMPL::ORM::Schema::Entity->new($self->entityName); - # , + # для текущего класса, проходим по всем свойствам foreach my $ormProp ( $self->get_meta( 'IMPL::Class::PropertyInfo', @@ -67,29 +67,29 @@ ) ){ if ($ormProp->Mutators & prop_list) { - # 1 + # отношение 1 ко многим my $type = $dataSchema->resolveType($ormProp->Type) or die new IMPL::InvalidOperationException("Failed to resolve a reference type due building schema for a class", $ormProp->Class, $ormProp->Name); $schema->appendChild( new IMPL::ORM::Schema::Relation::HasMany($ormProp->Name, $type->entityName) ); } elsif (my $type = $dataSchema->isValueType($ormProp->Type)) { - # + # поле $schema->appendChild( new IMPL::ORM::Schema::Field($ormProp->Name,$ormProp->Type) ); } elsif (my $entity = $dataSchema->resolveType($ormProp->Type)) { - # + # отношение ссылка $schema->appendChild( new IMPL::ORM::Schema::Relation::HasOne($ormProp->Name,$entity->entityName)); } else { - # . . + # хз что. Скорее всего не удалось квалифицировать тип свойства не как ссылочный и как поле. die new IMPL::Exception('Uexpected error due building schema for a class', $ormProp->Class, $ormProp->Name,$ormProp->Type); } } - # + # Формируем отношения наследования { - # + # локализуем прагму no strict 'refs'; my $class = ref $self || $self; - # + # по всем классам foreach my $super (grep $_->isa(__PACKAGE__), @{"${class}::ISA"}) { my $type = $dataSchema->resolveType($super) or die new IMPL::InvalidOperationException("Failed to resolve a super class due building schema for a class", $class, $super); $schema->appendChild(new IMPL::ORM::Schema::Relation::Subclass($type)); @@ -107,10 +107,10 @@ =head1 DESCRIPTION - , - . +Базовый объект для реляционного отображения, +содержит в себе реляционные записи представляющие данный объект. - . - . +Каждый класс отображается в определенную сущность. Сущности хранят +состояние объектов в том виде в котором удобно записывать в реляционную базу. =cut