View Javadoc

1   /**
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.geronimo.javamail.store.imap.connection;
19  import javax.mail.MessagingException;
20  
21  /**
22   * Base class for all response messages.                      
23   *
24   * @version $Rev: 594520 $ $Date: 2007-11-13 07:57:39 -0500 (Tue, 13 Nov 2007) $
25   */
26  public class IMAPResponse {
27      // The original (raw) response data
28      protected byte[] response;
29  
30      /**
31       * Create a response object from a server response line (normally, untagged).  This includes
32       * doing the parsing of the response line.
33       *
34       * @param response The response line used to create the reply object.
35       */
36      protected IMAPResponse(byte [] response) {
37          // set this as the current message and parse.
38          this.response = response;
39      }
40      
41      /**
42       * Retrieve the raw response line data for this 
43       * response message.  Normally, this will be a complete
44       * single line response, unless there are quoted 
45       * literals in the response data containing octet
46       * data. 
47       * 
48       * @return The byte array containing the response information.
49       */
50      public byte[] getResponseData() {
51          return response; 
52      }
53  
54      /**
55       * Return the response message as a string value.  
56       * This is intended for debugging purposes only.  The 
57       * response data might contain octet data that 
58       * might not convert to character data appropriately. 
59       * 
60       * @return The string version of the response. 
61       */
62      public String toString() {
63          return new String(response);
64      }
65  }
66