/** ClassNames.java** Created on March 12, 1999** Modification Log:* 1.00 12th Mar 1999 Tanmay Original version.* 1.01 18th Mar 1999 Tanmay Throws IOexception instead of Exception* 1.02 12th Jun 1999 Tanmay Methods to verify and get summary text added.*-----------------------------------------------------------------------------------------* 10th Sep 2003 Tanmay Moved to SourceForge (http://classeditor.sourceforge.net)*-----------------------------------------------------------------------------------------* 1.03 28th Sep 2003 Tanmay Moved text summary method to visitor.**/package classfile;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.util.Vector;/*** Class to handle class names.*<br><br>** @author Tanmay K. Mohapatra* @version 1.03, 28th Sep, 2003*/public class ClassNames {int iThisClass;int iSuperClass;public ConstantPoolInfo cpThisClass; //CONSTANT_Classpublic ConstantPoolInfo cpSuperClass; //CONSTANT_Classvoid read(DataInputStream dis, ConstantPool constPool) throws IOException {iThisClass = dis.readUnsignedShort();iSuperClass = dis.readUnsignedShort();cpThisClass = constPool.getPoolInfo(iThisClass);cpThisClass.addRef();cpSuperClass = constPool.getPoolInfo(iSuperClass);cpSuperClass.addRef();}void write(DataOutputStream dos, ConstantPool constPool) throws IOException {iThisClass = constPool.getIndexOf(cpThisClass);iSuperClass = constPool.getIndexOf(cpSuperClass);dos.writeShort(iThisClass);dos.writeShort(iSuperClass);}public boolean verify(Vector vectVerifyErrors) {boolean bRet = true;if ( (ConstantPoolInfo.CONSTANT_Class != cpThisClass.iTag) ||(ConstantPoolInfo.CONSTANT_Class != cpSuperClass.iTag) ) {vectVerifyErrors.addElement("ClassName and SuperClassName indexes should point to constant pool of type Class.");bRet = false;}if ( (0 == cpThisClass.refUTF8.sUTFStr.length()) || (0 == cpSuperClass.refUTF8.sUTFStr.length()) ) {vectVerifyErrors.addElement("Class and SuperClass names can not be empty.");bRet = false;}return bRet;}public String toString() {String sRetStr;sRetStr = "This class: " + cpThisClass + ", ";sRetStr += ("Super class: " + cpSuperClass);return sRetStr;}public String getThisClassName() {return Utils.convertClassStrToStr(cpThisClass.refUTF8.sUTFStr);}public String getSuperClassName() {return Utils.convertClassStrToStr(cpSuperClass.refUTF8.sUTFStr);}public void setThisClassName(String sNewStr) {cpThisClass.refUTF8.sUTFStr = Utils.convertStrToClassStr(sNewStr);}public void setSuperClassName(String sNewStr) {cpSuperClass.refUTF8.sUTFStr = Utils.convertStrToClassStr(sNewStr);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。