KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > cojen > classfile > constant > ConstantDoubleInfo


1 /*
2  * Copyright 2004 Brian S O'Neill
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 package org.cojen.classfile.constant;
18
19 import java.io.DataOutput JavaDoc;
20 import java.io.IOException JavaDoc;
21 import org.cojen.classfile.ConstantInfo;
22 import org.cojen.classfile.ConstantPool;
23
24 /**
25  * This class corresponds to the CONSTANT_Double_info structure as defined in
26  * section 4.4.5 of <i>The Java Virtual Machine Specification</i>.
27  *
28  * @author Brian S O'Neill
29  */

30 public class ConstantDoubleInfo extends ConstantInfo {
31     private final double mValue;
32     
33     public ConstantDoubleInfo(double value) {
34         super(TAG_DOUBLE);
35         mValue = value;
36     }
37
38     public double getValue() {
39         return mValue;
40     }
41
42     public int hashCode() {
43         long bits = Double.doubleToLongBits(mValue);
44         return (int)(bits ^ (bits >>> 32));
45     }
46     
47     public boolean equals(Object JavaDoc obj) {
48         if (this == obj) {
49             return true;
50         }
51         if (obj instanceof ConstantDoubleInfo) {
52             ConstantDoubleInfo other = (ConstantDoubleInfo)obj;
53             return mValue == other.mValue;
54         }
55         return false;
56     }
57     
58     protected int getEntryCount() {
59         return 2;
60     }
61
62     public void writeTo(DataOutput JavaDoc dout) throws IOException JavaDoc {
63         super.writeTo(dout);
64         dout.writeDouble(mValue);
65     }
66
67     public String JavaDoc toString() {
68         return "CONSTANT_Double_info: " + mValue;
69     }
70 }
71
Popular Tags