
| Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Cursor/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Cursor/transform.pm |
package Cursor::transform;
use strict;
use Cursor::buffered_cursor;
use vars qw(@ISA);
@ISA = qw(Cursor::buffered_cursor);
# Aufbereitung von Daten
sub new {
my $class = shift;
my $self = {};
$self->{'CURSOR'} = shift;
$self->{'TRANSFORM'} = shift; # Transform-Objekt
$self->{'PAR'} = shift;
bless($self,$class),
return($self);
}
#**********************************************************************
sub restart1 {
my $self = shift;
$self->{'BUFFER'} = [];
$self->{'CURSOR'}->restart();
}
#*********************************************************************
sub next1 {
my $self = shift;
my $entry = $self->read_buffer($self->{'BUFFER'});
return($entry) if ($entry);
$entry = $self->{'CURSOR'}->next();
return() if (!$entry);
my $entry1 = $self->{'TRANSFORM'}->transform(
$entry,$self->{'PAR'},$self->{'CURSOR'});
if (!$entry1) {
return($entry);
}
if (ref($entry1) ne "___list___") {
return($entry1);
}
$self->{'BUFFER'} = $entry1;
$entry = $self->read_buffer($self->{'BUFFER'});
return($entry);
}
#**********************************************************************
sub read_buffer {
my $self = shift;
my $ee = shift;
if (!@$ee) { return(""); }
my $o = shift(@$ee);
if (ref($o) eq "ARRAY") {
$o = $self->read_buffer($o);
if (!$o) {
$o = $self->read_buffer($ee);
}
}
}
#********************************************************************
1;