AMF-Perl
view release on metacpan or search on metacpan
lib/AMF/Perl/Util/Object.pm view on Meta::CPAN
$self->{_headers} = [];
$self->{_bodies} = [];
return $self;
}
# adds a header to our object
# requires three arguments key, required, and value
sub addHeader
{
my ($self, $k, $r, $v)=@_;
my $header = {};
$header->{"key"} = $k;
$header->{"required"} = $r;
$header->{"value"} = $v;
push @{$self->{_headers}}, $header;
}
# returns the number of headers
sub numHeader
{
my ($self)=@_;
return scalar(@{$self->{_headers}});
}
sub getHeaderAt
{
my ($self, $id)=@_;
$id=0 unless $id;
return $self->{_headers}->[$id];
}
# adds a body to our bodys object
# requires three arguments target, response, and value
sub addBody
{
my ($self, $t, $r, $v, $ty)=@_;
$ty="unknown" unless $ty;
my $body = {};
$body->{"target"} = $t;
$body->{"response"} = $r;
$body->{"value"} = $v;
$body->{"type"} = $ty;
push @{$self->{_bodies}}, $body;
}
# returns the number of body elements
sub numBody
{
my ($self)=@_;
return scalar(@{$self->{_bodies}});
}
# returns the body element at a specific index
sub getBodyAt
{
my ($self, $id)=@_;
$id=0 unless $id;
return $self->{_bodies}->[$id];
}
sub pseudo_query
{
my ($self, $columnNames, $data, $columnTypes) = @_;
my $result = new AMF::Perl::Util::Object;
# create the serverInfo array
$result->{"serverInfo"} = {};
# create an initialData array
my (@initialData, @columnNames);
$result->{serverInfo}->{initialData} = $data;
$result->{serverInfo}->{columnNames} = $columnNames;
$result->{serverInfo}->{totalCount}= scalar @$data;
# create the id field --> i think this is used for pageable recordsets
$result->{"serverInfo"}->{"id"} = "AMF::Perl";
$result->{"serverInfo"}->{"cursor"} = 1; # maybe the current record ????
$result->{"serverInfo"}->{"serviceName"} = "doStuff"; # in CF this is PageAbleResult not here
# versioning
$result->{"serverInfo"}->{"version"} = 1;
$result->{_explicitType}='RecordSet';
$result->{__columnTypes__}=$columnTypes;
return $result;
}
1;
( run in 0.633 second using v1.01-cache-2.11-cpan-5735350b133 )