1 32 33 package com.jeantessier.classreader; 34 35 import java.io.*; 36 37 public abstract class FeatureRef_info extends ConstantPoolEntry { 38 private int classIndex; 39 private int nameAndTypeIndex; 40 41 public FeatureRef_info(ConstantPool constantPool, DataInputStream in) throws IOException { 42 super(constantPool); 43 44 classIndex = in.readUnsignedShort(); 45 nameAndTypeIndex = in.readUnsignedShort(); 46 } 47 48 public int getClassIndex() { 49 return classIndex; 50 } 51 52 public Class_info getRawClass() { 53 return (Class_info) getConstantPool().get(getClassIndex()); 54 } 55 56 public String getClassName() { 57 return getRawClass().toString(); 58 } 59 60 public int getNameAndTypeIndex() { 61 return nameAndTypeIndex; 62 } 63 64 public NameAndType_info getRawNameAndType() { 65 return (NameAndType_info) getConstantPool().get(getNameAndTypeIndex()); 66 } 67 68 public String getNameAndType() { 69 StringBuffer result = new StringBuffer (); 70 71 NameAndType_info nat = getRawNameAndType(); 72 73 result.append(nat.getName()).append(nat.getType()); 74 75 return result.toString(); 76 } 77 78 public abstract String getName(); 79 80 public String getFullName() { 81 return getClassName() + "." + getName(); 82 } 83 84 public abstract String getSignature(); 85 86 public String getFullSignature() { 87 return getClassName() + "." + getSignature(); 88 } 89 90 public String toString() { 91 StringBuffer result = new StringBuffer (); 92 93 Class_info c = getRawClass(); 94 NameAndType_info nat = getRawNameAndType(); 95 96 result.append(c).append(".").append(nat.getName()).append(nat.getType()); 97 98 return result.toString(); 99 } 100 } 101 | Popular Tags |