| /******************************************************************************* |
| * Copyright (c) 2000, 2005 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 |
| * IBM Corporation - added J2SE 1.5 support |
| *******************************************************************************/ |
| package org.eclipse.jdt.core; |
| |
| /** |
| * Represents a field declared in a type. |
| * <p> |
| * This interface is not intended to be implemented by clients. |
| * </p> |
| */ |
| public interface IField extends IMember { |
| /** |
| * Returns the constant value associated with this field |
| * or <code>null</code> if this field has none. The field needs to be static and final to have |
| * a constant value. |
| * Returns an instance of the wrapper type corresponding to the the type of the field. |
| * <table border="1"> |
| * <tr> |
| * <th>field type</th> |
| * <th>wrapper type</th> |
| * </tr> |
| * <tr> |
| * <td>int |
| * </td> |
| * <td>java.lang.Integer |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>byte |
| * </td> |
| * <td>java.lang.Byte |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>boolean |
| * </td> |
| * <td>java.lang.Boolean |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>char |
| * </td> |
| * <td>java.lang.Character |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>double |
| * </td> |
| * <td>java.lang.Double |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>float |
| * </td> |
| * <td>java.lang.Float |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>long |
| * </td> |
| * <td>java.lang.Long |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>short |
| * </td> |
| * <td>java.lang.Short |
| * </td> |
| * </tr> |
| * <tr> |
| * <td>java.lang.String |
| * </td> |
| * <td>java.lang.String |
| * </td> |
| * </tr> |
| * </table> |
| * |
| * @return the constant value associated with this field or <code>null</code> if this field has none. |
| * @exception JavaModelException if this element does not exist or if an |
| * exception occurs while accessing its corresponding resource |
| */ |
| public Object getConstant() throws JavaModelException; |
| /** |
| * Returns the simple name of this field. |
| * @return the simple name of this field. |
| */ |
| String getElementName(); |
| /** |
| * Returns the binding key for this field. A binding key is a key that uniquely |
| * identifies this field. It allows access to generic info for parameterized |
| * fields. |
| * |
| * @return the binding key for this field |
| * @see org.eclipse.jdt.core.dom.IBinding#getKey() |
| * @see BindingKey |
| * @since 3.1 |
| */ |
| String getKey(); |
| /** |
| * Returns the type signature of this field. For enum constants, |
| * this returns the signature of the declaring enum class. |
| * <p> |
| * The type signature may be either unresolved (for source types) |
| * or resolved (for binary types), and either basic (for basic types) |
| * or rich (for parameterized types). See {@link Signature} for details. |
| * </p> |
| * |
| * @return the type signature of this field |
| * @exception JavaModelException if this element does not exist or if an |
| * exception occurs while accessing its corresponding resource |
| * @see Signature |
| */ |
| String getTypeSignature() throws JavaModelException; |
| /** |
| * Returns whether this field represents an enum constant. |
| * |
| * @return whether this field represents an enum constant |
| * @exception JavaModelException if this element does not exist or if an |
| * exception occurs while accessing its corresponding resource |
| * @since 3.1 |
| */ |
| boolean isEnumConstant() throws JavaModelException; |
| /** |
| * Returns whether this field represents a resolved field. |
| * If a field is resoved, its key contains resolved information. |
| * |
| * @return whether this field represents a resolved field. |
| * @since 3.1 |
| */ |
| boolean isResolved(); |
| |
| } |