Revision 8 (by ahitrov@rambler.ru, 2010/03/29 11:46:38) |
Contenido UTF-8 core files
|
package Contenido::Link;
# ----------------------------------------------------------------------------
# Класс Связь
# Очень похож на документ за тем исключением, что не
# наследники этого класса не могут иметь дополнительных полей.
# ----------------------------------------------------------------------------
use strict;
use warnings;
use locale;
use base 'Contenido::Object';
use Contenido::Globals;
# ----------------------------------------------------------------------------
# Метод class_name() - возвращает имя класса
# ----------------------------------------------------------------------------
sub class_name
{
return 'Связь';
}
sub class_description
{
return 'Связь по умолчанию';
}
# клас реализации таблицы
sub class_table
{
return 'SQL::LinkTable';
}
# ----------------------------------------------------------------------------
# Конструктор. Создает новый объект связи...
#
# Формат использования:
# Contenido::Link->new()
# Contenido::Link->new($keeper)
# Contenido::Link->new($keeper,$id)
# ----------------------------------------------------------------------------
sub new
{
my ($proto, $keeper, $id) = @_;
my $class = ref($proto) || $proto;
my $self;
if (defined($id) && ($id>0) && defined($keeper)) {
$self=$keeper->get_link_by_id($id, class=>$class);
} else {
$self = {};
bless($self, $class);
$self->init();
$self->class($class);
$self->keeper($keeper) if (ref $keeper);
}
return $self;
}
#базовая версия available_sources (возвращает все классы)
sub available_sources {
# return $state->{available_documents};
return [];
}
sub available_destinations {
return [];
}
#sub _get_table {
# return class_table->new();
#}
1;