/*******************************************************************************
* 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;
}
}