Mercurial > pub > Impl
view Lib/IMPL/ORM/Adapter/Generic.pm @ 250:129e48bb5afb
DOM refactoring
ObjectToDOM methods are virtual
QueryToDOM uses inflators
Fixed transform for the complex values in the ObjectToDOM
QueryToDOM doesn't allow to use complex values (HASHes) as values for nodes (overpost problem)
author | sergey |
---|---|
date | Wed, 07 Nov 2012 04:17:53 +0400 |
parents | 4d0e1962161c |
children |
line wrap: on
line source
package IMPL::ORM::Adapter::Generic; 1; __END__ =pod =head1 NAME C<IMPL::ORM::Adapter::Generic> Адаптер для работы с данными объекта произвольного класса. =head1 DESCRIPTION Позволяет получать данные, изменения данных из объекта, а также записать данные в объект и создать новый объект. =head1 MEMBERS =over =item C<CTOR($object,$hashOptions)> Создает новый адаптер к объекту C<$object> =item C<[get]object> Объект для которого создан данный адаптер, C<undef> если объект удален. =item C<[get]isChanged> Были ли обновления в объекте. =item C<[get]isDeleted> Является ли объект удаленным. =item C<[get]isNew> Является ли объект новым для БД. =item C<[get]initialState> Начальное состояние объекта, C<undef> если объект был создан. =item C<[get]currentState> Текущие состояние. C<undef> если объект удален. =item C<[get,list]history> История изменений. C<IMPL::Object::List> =item C<SaveChanges> Сохраняет изменения из объекта в текущее состояние, при этом изменения записываются в историю. B<returns> информацию об изменениях в объекте. =item C<Revert($version)> Возвращает объект в определенную версию. =item C<Delete> Удаляет объект, точнее помечает его для удаления до вызова C<Commit>. =item C<Commit> Сбрасывает историю изменений, и устанавливает соответсвующие свойства. =back =head1 Информация об изменениях объекта =begin code { version => 1, # object version op => STORAGE_UPDATE, data => { entity1 => { field1 => 'value 1' }, entity2 => { field2 => 'value 2' } } } =end code =head1 Информация об отображении объекта =begin code { prop_name => [ entity => 'field' ] } =end code =cut