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 )