1 17 package org.apache.bcel.classfile; 18 19 import java.io.DataInputStream ; 20 import java.io.DataOutputStream ; 21 import java.io.IOException ; 22 import org.apache.bcel.Constants; 23 24 33 public final class ConstantClass extends Constant implements ConstantObject { 34 35 private int name_index; 37 38 41 public ConstantClass(ConstantClass c) { 42 this(c.getNameIndex()); 43 } 44 45 46 52 ConstantClass(DataInputStream file) throws IOException { 53 this(file.readUnsignedShort()); 54 } 55 56 57 61 public ConstantClass(int name_index) { 62 super(Constants.CONSTANT_Class); 63 this.name_index = name_index; 64 } 65 66 67 74 public void accept( Visitor v ) { 75 v.visitConstantClass(this); 76 } 77 78 79 85 public final void dump( DataOutputStream file ) throws IOException { 86 file.writeByte(tag); 87 file.writeShort(name_index); 88 } 89 90 91 94 public final int getNameIndex() { 95 return name_index; 96 } 97 98 99 102 public final void setNameIndex( int name_index ) { 103 this.name_index = name_index; 104 } 105 106 107 109 public Object getConstantValue( ConstantPool cp ) { 110 Constant c = cp.getConstant(name_index, Constants.CONSTANT_Utf8); 111 return ((ConstantUtf8) c).getBytes(); 112 } 113 114 115 117 public String getBytes( ConstantPool cp ) { 118 return (String ) getConstantValue(cp); 119 } 120 121 122 125 public final String toString() { 126 return super.toString() + "(name_index = " + name_index + ")"; 127 } 128 } 129 | Popular Tags |