home *** CD-ROM | disk | FTP | other *** search
- ######################################################################
- package XML::DOM::DOMException;
- ######################################################################
-
- use Exporter;
-
- use overload '""' => \&stringify;
- use vars qw ( @ISA @EXPORT @ErrorNames );
-
- BEGIN
- {
- @ISA = qw( Exporter );
- @EXPORT = qw( INDEX_SIZE_ERR
- DOMSTRING_SIZE_ERR
- HIERARCHY_REQUEST_ERR
- WRONG_DOCUMENT_ERR
- INVALID_CHARACTER_ERR
- NO_DATA_ALLOWED_ERR
- NO_MODIFICATION_ALLOWED_ERR
- NOT_FOUND_ERR
- NOT_SUPPORTED_ERR
- INUSE_ATTRIBUTE_ERR
- );
- }
-
- sub UNKNOWN_ERR () {0;} # not in the DOM Spec!
- sub INDEX_SIZE_ERR () {1;}
- sub DOMSTRING_SIZE_ERR () {2;}
- sub HIERARCHY_REQUEST_ERR () {3;}
- sub WRONG_DOCUMENT_ERR () {4;}
- sub INVALID_CHARACTER_ERR () {5;}
- sub NO_DATA_ALLOWED_ERR () {6;}
- sub NO_MODIFICATION_ALLOWED_ERR () {7;}
- sub NOT_FOUND_ERR () {8;}
- sub NOT_SUPPORTED_ERR () {9;}
- sub INUSE_ATTRIBUTE_ERR () {10;}
-
- @ErrorNames = (
- "UNKNOWN_ERR",
- "INDEX_SIZE_ERR",
- "DOMSTRING_SIZE_ERR",
- "HIERARCHY_REQUEST_ERR",
- "WRONG_DOCUMENT_ERR",
- "INVALID_CHARACTER_ERR",
- "NO_DATA_ALLOWED_ERR",
- "NO_MODIFICATION_ALLOWED_ERR",
- "NOT_FOUND_ERR",
- "NOT_SUPPORTED_ERR",
- "INUSE_ATTRIBUTE_ERR"
- );
- sub new
- {
- my ($type, $code, $msg) = @_;
- my $self = bless {Code => $code}, $type;
-
- $self->{Message} = $msg if defined $msg;
-
- # print "=> Exception: " . $self->stringify . "\n";
- $self;
- }
-
- sub getCode
- {
- $_[0]->{Code};
- }
-
- #------------------------------------------------------------
- # Extra method implementations
-
- sub getName
- {
- $ErrorNames[$_[0]->{Code}];
- }
-
- sub getMessage
- {
- $_[0]->{Message};
- }
-
- sub stringify
- {
- my $self = shift;
-
- "XML::DOM::DOMException(Code=" . $self->getCode . ", Name=" .
- $self->getName . ", Message=" . $self->getMessage . ")";
- }
-
- 1; # package return code
-