KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > classycle > classfile > StringConstant


1 /*
2  * Copyright (c) 2003-2006, Franz-Josef Elmer, All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * - Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  * - Redistributions in binary form must reproduce the above copyright notice,
10  * this list of conditions and the following disclaimer in the documentation
11  * and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
14  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
15  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */

25 package classycle.classfile;
26
27 /**
28  * Constant of a <tt>String</tt> value.
29  *
30  * @author Franz-Josef Elmer
31  */

32 public class StringConstant extends Constant {
33   private final int _stringIndex;
34
35   /**
36    * Creates an instance for the specfied index.
37    * @param pool Constant pool. Needed for resolving the reference.
38    * @param stringIndex Index of an {@link UTF8Constant}.
39    */

40   public StringConstant(Constant[] pool, int stringIndex) {
41     super(pool);
42     _stringIndex = stringIndex;
43   }
44
45   /** Returns the string value. */
46   public String JavaDoc getString() {
47     String JavaDoc result = null;
48     Constant c = getConstant(_stringIndex);
49     if (c instanceof UTF8Constant) {
50       result = ((UTF8Constant) c).getString();
51     }
52     return result;
53   }
54
55   /** Returns the constant type and the string value. */
56   public String JavaDoc toString() {
57     return "CONSTANT_String: " + getString();
58   }
59 } //class
Popular Tags