URIException.java
  1  /*
  2   * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/java/org/apache/commons/httpclient/URIException.java,v 1.12 2004/09/30 18:53:20 olegk Exp $
  3   * $Revision: 480424 $
  4   * $Date: 2006-11-29 06:56:49 +0100 (Wed, 29 Nov 2006) $
  5   *
  6   * ====================================================================
  7   *
  8   *  Licensed to the Apache Software Foundation (ASF) under one or more
  9   *  contributor license agreements.  See the NOTICE file distributed with
 10   *  this work for additional information regarding copyright ownership.
 11   *  The ASF licenses this file to You under the Apache License, Version 2.0
 12   *  (the "License"); you may not use this file except in compliance with
 13   *  the License.  You may obtain a copy of the License at
 14   *
 15   *      http://www.apache.org/licenses/LICENSE-2.0
 16   *
 17   *  Unless required by applicable law or agreed to in writing, software
 18   *  distributed under the License is distributed on an "AS IS" BASIS,
 19   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 20   *  See the License for the specific language governing permissions and
 21   *  limitations under the License.
 22   * ====================================================================
 23   *
 24   * This software consists of voluntary contributions made by many
 25   * individuals on behalf of the Apache Software Foundation.  For more
 26   * information on the Apache Software Foundation, please see
 27   * <http://www.apache.org/>.
 28   *
 29   */
 30  
 31  package org.apache.commons.httpclient;
 32  
 33  /**
 34   * The URI parsing and escape encoding exception.
 35   *
 36   * @author <a href="mailto:jericho at apache.org">Sung-Gu</a>
 37   * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
 38   * @version $Revision: 480424 $ $Date: 2002/03/14 15:14:01 
 39   */
 40  public class URIException extends HttpException {
 41  
 42      // ----------------------------------------------------------- constructors
 43  
 44      /**
 45       * Default constructor.
 46       */
 47      public URIException() {
 48      }
 49  
 50  
 51      /**
 52       * The constructor with a reason code argument.
 53       *
 54       * @param reasonCode the reason code
 55       */
 56      public URIException(int reasonCode) {
 57          this.reasonCode = reasonCode;
 58      }
 59  
 60  
 61      /**
 62       * The constructor with a reason string and its code arguments.
 63       *
 64       * @param reasonCode the reason code
 65       * @param reason the reason
 66       */
 67      public URIException(int reasonCode, String reason) {
 68          super(reason); // for backward compatibility of Throwable
 69          this.reason = reason;
 70          this.reasonCode = reasonCode;
 71      }
 72  
 73  
 74      /**
 75       * The constructor with a reason string argument.
 76       *
 77       * @param reason the reason
 78       */
 79      public URIException(String reason) {
 80          super(reason); // for backward compatibility of Throwable
 81          this.reason = reason;
 82          this.reasonCode = UNKNOWN;
 83      }
 84  
 85      // -------------------------------------------------------------- constants
 86  
 87      /**
 88       * No specified reason code.
 89       */
 90      public static final int UNKNOWN = 0;
 91  
 92  
 93      /**
 94       * The URI parsing error.
 95       */
 96      public static final int PARSING = 1;
 97  
 98  
 99      /**
100       * The unsupported character encoding.
101       */
102      public static final int UNSUPPORTED_ENCODING = 2;
103  
104  
105      /**
106       * The URI escape encoding and decoding error.
107       */
108      public static final int ESCAPING = 3;
109  
110  
111      /**
112       * The DNS punycode encoding or decoding error.
113       */
114      public static final int PUNYCODE = 4;
115  
116      // ------------------------------------------------------------- properties
117  
118      /**
119       * The reason code.
120       */
121      protected int reasonCode;
122  
123  
124      /**
125       * The reason message.
126       */
127      protected String reason;
128  
129      // ---------------------------------------------------------------- methods
130  
131      /**
132       * Get the reason code.
133       *
134       * @return the reason code
135       */
136      public int getReasonCode() {
137          return reasonCode;
138      }
139  
140      /**
141       * Set the reason code.
142       *
143       * @param reasonCode the reason code
144       *
145       * @deprecated Callers should set the reason code as a parameter to the
146       *  constructor.
147       */
148      public void setReasonCode(int reasonCode) {
149          this.reasonCode = reasonCode;
150      }
151  
152  
153      /**
154       * Get the reason message.
155       *
156       * @return the reason message
157       *
158       * @deprecated You should instead call {@link #getMessage()}.
159       */
160      public String getReason() {
161          return reason;
162      }
163  
164  
165      /**
166       * Set the reason message.
167       *
168       * @param reason the reason message
169       *
170       * @deprecated Callers should instead set this via a parameter to the constructor.
171       */
172      public void setReason(String reason) {
173          this.reason = reason;
174      }
175  
176  
177  }
178