KickJava   Java API By Example, From Geeks To Geeks.

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


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_Utf8_info structure as defined in
26  * section 4.4.7 of <i>The Java Virtual Machine Specification</i>.
27  *
28  * @author Brian S O'Neill
29  */

30 public class ConstantUTFInfo extends ConstantInfo {
31     private final String JavaDoc mStr;
32     
33     public ConstantUTFInfo(String JavaDoc str) {
34         super(TAG_UTF8);
35         mStr = str;
36     }
37     
38     public String JavaDoc getValue() {
39         return mStr;
40     }
41
42     public int hashCode() {
43         return mStr.hashCode();
44     }
45     
46     public boolean equals(Object JavaDoc obj) {
47         if (obj instanceof ConstantUTFInfo) {
48             ConstantUTFInfo other = (ConstantUTFInfo)obj;
49             return mStr.equals(other.mStr);
50         }
51         
52         return false;
53     }
54     
55     public void writeTo(DataOutput JavaDoc dout) throws IOException JavaDoc {
56         super.writeTo(dout);
57         dout.writeUTF(mStr);
58     }
59
60     public String JavaDoc toString() {
61         return "CONSTANT_Utf8_info: " + getValue();
62     }
63 }
64
Popular Tags