package Result;
use strict;
use warnings;
use Carp;
use Data::Dumper;
sub new ($@) {
my $class = shift;
my ($code, $result_data, $namespace, $message, $stack_trace) = @_;
my $this = {};
$this->{Code} = $code;
$this->{Result} = $result_data;
$this->{Namespace} = $namespace || (caller(1))[3];
$this->{Message} = $message;
$this->{Stack} = $stack_trace || Carp::longmess();
chomp($this->{Stack});
bless $this, $class;
return $this;
}
sub asString { print Dumper $_[0] }
sub Code { $_[0]->{Code} }
sub Result { $_[0]->{Result} }
sub Namespace { $_[0]->{Namespace} }
sub Message { $_[0]->{Message} }
sub Stack { $_[0]->{Stack} }
1;