View Javadoc

1   /*
2    *   Copyright 2005 The Apache Software Foundation
3    *
4    *   Licensed under the Apache License, Version 2.0 (the "License");
5    *   you may not use this file except in compliance with the License.
6    *   You may obtain a copy of the License at
7    *
8    *       http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *   Unless required by applicable law or agreed to in writing, software
11   *   distributed under the License is distributed on an "AS IS" BASIS,
12   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *   See the License for the specific language governing permissions and
14   *   limitations under the License.
15   *
16   */
17  
18  package org.apache.asn1.der;
19  
20  import java.io.UnsupportedEncodingException;
21  
22  /***
23   * Interface for DER string objects.
24   */
25  public abstract class DERString extends DERObject
26  {
27  	/***
28       * Basic DERObject constructor.
29       */
30  	DERString( int tag, byte[] value )
31  	{
32  		super( tag, value );
33  	}
34  	
35  	/***
36  	 * Lazy accessor.
37  	 * @return underlying byte array converted to a String
38  	 */
39      public String getString()
40      {
41          return byteArrayToString( value );
42      }
43      
44      /***
45       * Utility method for converting byte arrays to Strings.
46       * @param bytes
47       * @return String
48       */
49      protected static String byteArrayToString( byte[] bytes )
50      {
51          try
52          {
53              return new String( bytes, "UTF-8" );
54          }
55          catch ( UnsupportedEncodingException uee )
56          {
57              return "";
58          }
59      }
60      
61      /***
62       * Utility method for converting Strings to bytes.
63       * @param string
64       * @return bytes
65       */
66      protected static byte[] stringToByteArray( String string )
67      {
68          try
69          {
70              return string.getBytes( "UTF-8" );
71          }
72          catch ( UnsupportedEncodingException uee )
73          {
74              return new byte[]{};
75          }
76      }
77  }
78