KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tools > ant > taskdefs > optional > depend > constantpool > NameAndTypeCPInfo


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */

18 package org.apache.tools.ant.taskdefs.optional.depend.constantpool;
19
20 import java.io.DataInputStream JavaDoc;
21 import java.io.IOException JavaDoc;
22
23 /**
24  * A NameAndType CP Info
25  *
26  */

27 public class NameAndTypeCPInfo extends ConstantPoolEntry {
28
29     /** Constructor. */
30     public NameAndTypeCPInfo() {
31         super(CONSTANT_NAMEANDTYPE, 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 JavaDoc cpStream) throws IOException JavaDoc {
43         nameIndex = cpStream.readUnsignedShort();
44         descriptorIndex = cpStream.readUnsignedShort();
45     }
46
47     /**
48      * Print a readable version of the constant pool entry.
49      *
50      * @return the string representation of this constant pool entry.
51      */

52     public String JavaDoc toString() {
53         String JavaDoc value;
54
55         if (isResolved()) {
56             value = "Name = " + name + ", type = " + type;
57         } else {
58             value = "Name index = " + nameIndex
59                  + ", descriptor index = " + descriptorIndex;
60         }
61
62         return value;
63     }
64
65     /**
66      * Resolve this constant pool entry with respect to its dependents in
67      * the constant pool.
68      *
69      * @param constantPool the constant pool of which this entry is a member
70      * and against which this entry is to be resolved.
71      */

72     public void resolve(ConstantPool constantPool) {
73         name = ((Utf8CPInfo) constantPool.getEntry(nameIndex)).getValue();
74         type = ((Utf8CPInfo) constantPool.getEntry(descriptorIndex)).getValue();
75
76         super.resolve(constantPool);
77     }
78
79     /**
80      * Get the name component of this entry
81      *
82      * @return the name of this name and type entry
83      */

84     public String JavaDoc getName() {
85         return name;
86     }
87
88     /**
89      * Get the type signature of this entry
90      *
91      * @return the type signature of this entry
92      */

93     public String JavaDoc getType() {
94         return type;
95     }
96
97     /** the name component of this entry */
98     private String JavaDoc name;
99     /** the type component of this entry */
100     private String JavaDoc type;
101     /**
102      * the index into the constant pool at which the name component's string
103      * value is stored
104      */

105     private int nameIndex;
106     /**
107      * the index into the constant pool where the type descriptor string is
108      * stored.
109      */

110     private int descriptorIndex;
111 }
112
113
Popular Tags