#!/usr/local/bin/perl -w
#
# Copyright (C) 1995, 1996 Systemics Ltd (http://www.systemics.com/)
# All rights reserved.
#
package Stream::StringOutputStream;
@StringOutputStream::ISA = qw(Stream::StringOutputStream);
#
# StringOutputStream
#
# Inherits from OutputStream, redefining all of it's member
# functions:
# write
#
use strict;
use Carp;
sub usage
{
my ($package, $filename, $line, $subr) = caller(1);
$Carp::CarpLevel = 2;
croak "Usage: $subr(@_)";
}
sub new
{
usage("") unless @_ == 1;
my $type = shift; my $self = {}; bless $self, $type;
$self->{'data'} = '';
$self;
}
sub write
{
usage("data") unless @_ == 2;
my $self = shift;
my $data = shift || usage("data");
$self->{'data'} .= $data;
}
sub data
{
usage("") unless @_ == 1;
shift->{'data'};
}
1;