[Bio] / Sprout / ErrorDocument.pm Repository:
ViewVC logotype

View of /Sprout/ErrorDocument.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Thu Mar 25 16:21:08 2010 UTC (8 years, 10 months ago) by parrello
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, rast_rel_2014_0912, mgrast_dev_04082011, rast_rel_2010_0928, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2010_0526, rast_rel_2014_0729, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2011_0119, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, rast_rel_2010_0827, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_10262011, HEAD
Changes since 1.1: +34 -10 lines
*** empty log message ***

#
# Copyright (c) 2003-2006 University of Chicago and Fellowship
# for Interpretations of Genomes. All Rights Reserved.
#
# This file is part of the SEED Toolkit.
#
# The SEED Toolkit is free software. You can redistribute
# it and/or modify it under the terms of the SEED Toolkit
# Public License.
#
# You should have received a copy of the SEED Toolkit Public License
# along with this program; if not write to the University of Chicago
# at info@ci.uchicago.edu or the Fellowship for Interpretation of
# Genomes at veronika@thefig.info or download a copy from
# http://www.theseed.org/LICENSE.TXT.
#

package ErrorDocument;

    use strict;
    use overload '""' => "baseMessage";

=head1 Error Document

=head2 Introduction

The error document is a simple class that describes a server error. When it is
exported by the YAML facility, it will be clearly identified as an Error
Document object, so that the recipient of the data knows something has gone
wrong.

This object has been replaced by L<ErrorObject>.

The fields in this object are as follows.

=over 4

=item function

name of the function that failed

=item message

detailed message describing the error

=item baseMessage

message describing the kind of error

=back

=cut

=head3 new

    my $errDoc = ErrorDocument->new($function, $message, $baseMessage);

Construct a new ErrorDocument object. The following parameters are expected.

=over 4

=item function

Name of the function that failed.

=item message

Text of the detailed error message. The detailed error message is long, and frequently
contains information about where the error occurred and the contents of the call stack.

=item baseMessage

Text of the user-friendly error message. The user-friendly message is short, and
designed to be minimally confusing; it is also minimally informative.


=back

=cut

sub new {
    # Get the parameters.
    my ($class, $function, $message, $baseMessage) = @_;
    # Clean the message.
    my $cleaned = $message;
    chomp $cleaned;
    # Create the ErrorDocument object.
    my $retVal = { 
                    function => $function,
                    message => $cleaned,
                    baseMessage => $baseMessage,
                 };
    # Bless and return it.
    bless $retVal, $class;
    return $retVal;
}

=head2 Public Methods

=head3 message

    my $text = $errDoc->message();

Return the error message.

=cut

sub message {
    # Get the parameters.
    my ($self) = @_;
    # Return the result.
    return $self->{message};
}

=head3 baseMessage

    my $text = $errDoc->baseMessage();

Return the user-friendly error message.

=cut

sub baseMessage {
    # Get the parameters.
    my ($self) = @_;
    # Return the result.
    return $self->{baseMessage};
}

=head3 function

    my $text = $errDoc->function();

Return the error function.

=cut

sub function {
    # Get the parameters.
    my ($self) = @_;
    # Return the result.
    return $self->{function};
}


1;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3