diff -r 000000000000 -r 02cd6b52f378 dummy_foundation/lib/XML/DOM/DOMException.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dummy_foundation/lib/XML/DOM/DOMException.pm Thu May 28 10:10:03 2009 +0100 @@ -0,0 +1,88 @@ +###################################################################### +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