source: release-kits/lirk3/resources/gs3-release-maker/apache-ant-1.6.5/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/StringCPInfo.java@ 14982

Last change on this file since 14982 was 14982, checked in by oranfry, 16 years ago

initial import of LiRK3

File size: 2.3 KB
Line 
1/*
2 * Copyright 2000-2004 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 */
17package org.apache.tools.ant.taskdefs.optional.depend.constantpool;
18
19import java.io.DataInputStream;
20import java.io.IOException;
21
22/**
23 * A String Constant Pool Entry. The String info contains an index into the
24 * constant pool where a UTF8 string is stored.
25 *
26 */
27public class StringCPInfo extends ConstantCPInfo {
28
29 /** Constructor. */
30 public StringCPInfo() {
31 super(CONSTANT_STRING, 1);
32 }
33
34 /**
35 * read a constant pool entry from a class stream.
36 *
37 * @param cpStream the DataInputStream which contains the constant pool
38 * entry to be read.
39 * @exception IOException if there is a problem reading the entry from
40 * the stream.
41 */
42 public void read(DataInputStream cpStream) throws IOException {
43 index = cpStream.readUnsignedShort();
44
45 setValue("unresolved");
46 }
47
48 /**
49 * Print a readable version of the constant pool entry.
50 *
51 * @return the string representation of this constant pool entry.
52 */
53 public String toString() {
54 return "String Constant Pool Entry for "
55 + getValue() + "[" + index + "]";
56 }
57
58 /**
59 * Resolve this constant pool entry with respect to its dependents in
60 * the constant pool.
61 *
62 * @param constantPool the constant pool of which this entry is a member
63 * and against which this entry is to be resolved.
64 */
65 public void resolve(ConstantPool constantPool) {
66 setValue(((Utf8CPInfo) constantPool.getEntry(index)).getValue());
67 super.resolve(constantPool);
68 }
69
70 /** the index into the constant pool containing the string's content */
71 private int index;
72}
73
Note: See TracBrowser for help on using the repository browser.