/******************************************************************************* * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.internal.core.util; import org.eclipse.jdt.core.util.IConstantPoolEntry; /** * Default implementation of IConstantPoolEntry * * @since 2.0 */ public class ConstantPoolEntry implements IConstantPoolEntry { private int kind; private int classInfoNameIndex; private int classIndex; private int nameAndTypeIndex; private int stringIndex; private char[] stringValue; private int integerValue; private float floatValue; private double doubleValue; private long longValue; private int nameAndTypeDescriptorIndex; private int nameAndTypeNameIndex; private char[] className; private char[] fieldName; private char[] methodName; private char[] fieldDescriptor; private char[] methodDescriptor; private char[] utf8Value; private int utf8Length; private char[] classInfoName; public ConstantPoolEntry() { this.classInfoNameIndex = -1; this.classIndex = -1; this.nameAndTypeIndex = -1; this.stringIndex = -1; this.stringValue = null; this.integerValue = -1; this.floatValue = -0.0f; this.doubleValue = -0-0; this.longValue = -1; this.nameAndTypeDescriptorIndex = -1; this.nameAndTypeNameIndex = -1; this.className = null; this.fieldName = null; this.methodName = null; this.fieldDescriptor = null; this.methodDescriptor = null; this.utf8Value = null; this.utf8Length = -1; this.classInfoName = null; } /** * @see IConstantPoolEntry#getKind() */ public int getKind() { return this.kind; } /** * Sets the kind. * @param kind The kind to set */ public void setKind(int kind) { this.kind = kind; } /** * @see IConstantPoolEntry#getClassInfoNameIndex() */ public int getClassInfoNameIndex() { return this.classInfoNameIndex; } /** * @see IConstantPoolEntry#getClassIndex() */ public int getClassIndex() { return this.classIndex; } /** * @see IConstantPoolEntry#getNameAndTypeIndex() */ public int getNameAndTypeIndex() { return this.nameAndTypeIndex; } /** * @see IConstantPoolEntry#getStringIndex() */ public int getStringIndex() { return this.stringIndex; } /** * @see IConstantPoolEntry#getStringValue() */ public String getStringValue() { return new String(this.stringValue); } /** * @see IConstantPoolEntry#getIntegerValue() */ public int getIntegerValue() { return this.integerValue; } /** * @see IConstantPoolEntry#getFloatValue() */ public float getFloatValue() { return this.floatValue; } /** * @see IConstantPoolEntry#getDoubleValue() */ public double getDoubleValue() { return this.doubleValue; } /** * @see IConstantPoolEntry#getLongValue() */ public long getLongValue() { return this.longValue; } /** * @see IConstantPoolEntry#getNameAndTypeInfoDescriptorIndex() */ public int getNameAndTypeInfoDescriptorIndex() { return this.nameAndTypeDescriptorIndex; } /** * @see IConstantPoolEntry#getNameAndTypeInfoNameIndex() */ public int getNameAndTypeInfoNameIndex() { return this.nameAndTypeNameIndex; } /** * @see IConstantPoolEntry#getClassName() */ public char[] getClassName() { return this.className; } /** * @see IConstantPoolEntry#getFieldName() */ public char[] getFieldName() { return this.fieldName; } /** * @see IConstantPoolEntry#getMethodName() */ public char[] getMethodName() { return this.methodName; } /** * @see IConstantPoolEntry#getFieldDescriptor() */ public char[] getFieldDescriptor() { return this.fieldDescriptor; } /** * @see IConstantPoolEntry#getMethodDescriptor() */ public char[] getMethodDescriptor() { return this.methodDescriptor; } /** * @see IConstantPoolEntry#getUtf8Value() */ public char[] getUtf8Value() { return this.utf8Value; } /** * @see IConstantPoolEntry#getClassInfoName() */ public char[] getClassInfoName() { return this.classInfoName; } /** * Sets the classInfoNameIndex. * @param classInfoNameIndex The classInfoNameIndex to set */ public void setClassInfoNameIndex(int classInfoNameIndex) { this.classInfoNameIndex = classInfoNameIndex; } /** * Sets the classIndex. * @param classIndex The classIndex to set */ public void setClassIndex(int classIndex) { this.classIndex = classIndex; } /** * Sets the nameAndTypeIndex. * @param nameAndTypeIndex The nameAndTypeIndex to set */ public void setNameAndTypeIndex(int nameAndTypeIndex) { this.nameAndTypeIndex = nameAndTypeIndex; } /** * Sets the stringIndex. * @param stringIndex The stringIndex to set */ public void setStringIndex(int stringIndex) { this.stringIndex = stringIndex; } /** * Sets the stringValue. * @param stringValue The stringValue to set */ public void setStringValue(char[] stringValue) { this.stringValue = stringValue; } /** * Sets the integerValue. * @param integerValue The integerValue to set */ public void setIntegerValue(int integerValue) { this.integerValue = integerValue; } /** * Sets the floatValue. * @param floatValue The floatValue to set */ public void setFloatValue(float floatValue) { this.floatValue = floatValue; } /** * Sets the doubleValue. * @param doubleValue The doubleValue to set */ public void setDoubleValue(double doubleValue) { this.doubleValue = doubleValue; } /** * Sets the longValue. * @param longValue The longValue to set */ public void setLongValue(long longValue) { this.longValue = longValue; } /** * Gets the nameAndTypeDescriptorIndex. * @return Returns a int */ public int getNameAndTypeDescriptorIndex() { return this.nameAndTypeDescriptorIndex; } /** * Sets the nameAndTypeDescriptorIndex. * @param nameAndTypeDescriptorIndex The nameAndTypeDescriptorIndex to set */ public void setNameAndTypeDescriptorIndex(int nameAndTypeDescriptorIndex) { this.nameAndTypeDescriptorIndex = nameAndTypeDescriptorIndex; } /** * Gets the nameAndTypeNameIndex. * @return Returns a int */ public int getNameAndTypeNameIndex() { return this.nameAndTypeNameIndex; } /** * Sets the nameAndTypeNameIndex. * @param nameAndTypeNameIndex The nameAndTypeNameIndex to set */ public void setNameAndTypeNameIndex(int nameAndTypeNameIndex) { this.nameAndTypeNameIndex = nameAndTypeNameIndex; } /** * Sets the className. * @param className The className to set */ public void setClassName(char[] className) { this.className = className; } /** * Sets the fieldName. * @param fieldName The fieldName to set */ public void setFieldName(char[] fieldName) { this.fieldName = fieldName; } /** * Sets the methodName. * @param methodName The methodName to set */ public void setMethodName(char[] methodName) { this.methodName = methodName; } /** * Sets the fieldDescriptor. * @param fieldDescriptor The fieldDescriptor to set */ public void setFieldDescriptor(char[] fieldDescriptor) { this.fieldDescriptor = fieldDescriptor; } /** * Sets the methodDescriptor. * @param methodDescriptor The methodDescriptor to set */ public void setMethodDescriptor(char[] methodDescriptor) { this.methodDescriptor = methodDescriptor; } /** * Sets the utf8Value. * @param utf8Value The utf8Value to set */ public void setUtf8Value(char[] utf8Value) { this.utf8Value = utf8Value; } /** * Sets the classInfoName. * @param classInfoName The classInfoName to set */ public void setClassInfoName(char[] classInfoName) { this.classInfoName = classInfoName; } /** * @see IConstantPoolEntry#getUtf8Length() */ public int getUtf8Length() { return this.utf8Length; } /** * Sets the utf8Length. * @param utf8Length The utf8Length to set */ public void setUtf8Length(int utf8Length) { this.utf8Length = utf8Length; } public void reset() { this.kind = 0; this.classInfoNameIndex = 0; this.classIndex = 0; this.nameAndTypeIndex = 0; this.stringIndex = 0; this.stringValue = null; this.integerValue = 0; this.floatValue = 0.0f; this.doubleValue = 0.0; this.longValue = 0L; this.nameAndTypeDescriptorIndex = 0; this.nameAndTypeNameIndex = 0; this.className = null; this.fieldName = null; this.methodName = null; this.fieldDescriptor = null; this.methodDescriptor = null; this.utf8Value = null; this.utf8Length = 0; this.classInfoName = null; } }