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.math.BigInteger;
21  
22  /***
23   * DER Integer object.
24   */
25  public class DERInteger extends DERObject
26  {
27      /***
28       * Basic DERObject constructor.
29       */
30      DERInteger( byte[] value )
31      {
32      	super( INTEGER, value );
33      }
34      
35      /***
36       * Static factory method, type-conversion operator.
37       */
38      public static DERInteger valueOf( int integer )
39      {
40          return new DERInteger( intToOctet( integer ) );
41      }
42      
43      /***
44       * Lazy accessor
45       * @return integer value
46       */
47      public int intValue()
48      {
49          return octetToInt( value );
50      }
51      
52      private static int octetToInt( byte[] bytes )
53      {
54      	return new BigInteger( bytes ).intValue();
55      }
56  	
57      private static byte[] intToOctet( int integer )
58      {
59          return BigInteger.valueOf( integer ).toByteArray();
60      }
61  }
62