home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-perl-addon-1.4.9-installer.exe / DOMException.pm < prev    next >
Encoding:
Perl POD Document  |  2001-07-13  |  1.9 KB  |  89 lines

  1. ######################################################################
  2. package XML::DOM::DOMException;
  3. ######################################################################
  4.  
  5. use Exporter;
  6.  
  7. use overload '""' => \&stringify;
  8. use vars qw ( @ISA @EXPORT @ErrorNames );
  9.  
  10. BEGIN
  11. {
  12.   @ISA = qw( Exporter );
  13.   @EXPORT = qw( INDEX_SIZE_ERR
  14.         DOMSTRING_SIZE_ERR
  15.         HIERARCHY_REQUEST_ERR
  16.         WRONG_DOCUMENT_ERR
  17.         INVALID_CHARACTER_ERR
  18.         NO_DATA_ALLOWED_ERR
  19.         NO_MODIFICATION_ALLOWED_ERR
  20.         NOT_FOUND_ERR
  21.         NOT_SUPPORTED_ERR
  22.         INUSE_ATTRIBUTE_ERR
  23.           );
  24. }
  25.  
  26. sub UNKNOWN_ERR            () {0;}    # not in the DOM Spec!
  27. sub INDEX_SIZE_ERR        () {1;}
  28. sub DOMSTRING_SIZE_ERR        () {2;}
  29. sub HIERARCHY_REQUEST_ERR    () {3;}
  30. sub WRONG_DOCUMENT_ERR        () {4;}
  31. sub INVALID_CHARACTER_ERR    () {5;}
  32. sub NO_DATA_ALLOWED_ERR        () {6;}
  33. sub NO_MODIFICATION_ALLOWED_ERR    () {7;}
  34. sub NOT_FOUND_ERR        () {8;}
  35. sub NOT_SUPPORTED_ERR        () {9;}
  36. sub INUSE_ATTRIBUTE_ERR        () {10;}
  37.  
  38. @ErrorNames = (
  39.            "UNKNOWN_ERR",
  40.            "INDEX_SIZE_ERR",
  41.            "DOMSTRING_SIZE_ERR",
  42.            "HIERARCHY_REQUEST_ERR",
  43.            "WRONG_DOCUMENT_ERR",
  44.            "INVALID_CHARACTER_ERR",
  45.            "NO_DATA_ALLOWED_ERR",
  46.            "NO_MODIFICATION_ALLOWED_ERR",
  47.            "NOT_FOUND_ERR",
  48.            "NOT_SUPPORTED_ERR",
  49.            "INUSE_ATTRIBUTE_ERR"
  50.           );
  51. sub new
  52. {
  53.     my ($type, $code, $msg) = @_;
  54.     my $self = bless {Code => $code}, $type;
  55.  
  56.     $self->{Message} = $msg if defined $msg;
  57.  
  58. #    print "=> Exception: " . $self->stringify . "\n"; 
  59.     $self;
  60. }
  61.  
  62. sub getCode
  63. {
  64.     $_[0]->{Code};
  65. }
  66.  
  67. #------------------------------------------------------------
  68. # Extra method implementations
  69.  
  70. sub getName
  71. {
  72.     $ErrorNames[$_[0]->{Code}];
  73. }
  74.  
  75. sub getMessage
  76. {
  77.     $_[0]->{Message};
  78. }
  79.  
  80. sub stringify
  81. {
  82.     my $self = shift;
  83.  
  84.     "XML::DOM::DOMException(Code=" . $self->getCode . ", Name=" .
  85.     $self->getName . ", Message=" . $self->getMessage . ")";
  86. }
  87.  
  88. 1; # package return code
  89.