package org.eclipse.jdt.core; /* * (c) Copyright IBM Corp. 2000, 2001. * All Rights Reserved. */ import org.eclipse.jdt.internal.core.*; /** * Represents a method (or constructor) declared in a type. *

* This interface is not intended to be implemented by clients. *

*/ public interface IMethod extends IMember { /** * Returns the simple name of this method. * For a constructor, this returns the simple name of the declaring type. * Note: This holds whether the constructor appears in a source or binary type * (even though class files internally define constructor names to be "<init>"). * For the class initialization methods in binary types, this returns * the special name "<clinit>". * This is a handle-only method. */ String getElementName(); /** * Returns the type signatures of the exceptions this method throws, * in the order declared in the source. Returns an empty array * if this method throws no exceptions. * *

For example, a source method declaring "throws IOException", * would return the array {"QIOException;"}. * * @exception JavaModelException if this element does not exist or if an * exception occurs while accessing its corresponding resource. * * @see Signature */ String[] getExceptionTypes() throws JavaModelException; /** * Returns the number of parameters of this method. * This is a handle-only method. */ int getNumberOfParameters(); /** * Returns the names of parameters in this method. * For binary types, these names are invented as "arg"+i, where i starts at 1 * (even if source is associated with the binary). * Returns an empty array if this method has no parameters. * *

For example, a method declared as public void foo(String text, int length) * would return the array {"text","length"}. * * @exception JavaModelException if this element does not exist or if an * exception occurs while accessing its corresponding resource. */ String[] getParameterNames() throws JavaModelException; /** * Returns the type signatures for the parameters of this method. * Returns an empty array if this method has no parameters. * This is a handle-only method. * *

For example, a source method declared as public void foo(String text, int length) * would return the array {"QString;","I"}. * * @see Signature */ String[] getParameterTypes(); /** * Returns the type signature of the return value of this method. * For constructors, this returns the signature for void. * *

For example, a source method declared as public String getName() * would return "QString;". * * @exception JavaModelException if this element does not exist or if an * exception occurs while accessing its corresponding resource. * * @see Signature */ String getReturnType() throws JavaModelException; /** * Returns the signature of the method. This includes the signatures for the parameter * types and return type, but does not include the method name or exception types. * *

For example, a source method declared as public void foo(String text, int length) * would return "(QString;I)V". * * @exception JavaModelException if this element does not exist or if an * exception occurs while accessing its corresponding resource. * * @see Signature */ String getSignature() throws JavaModelException; /** * Returns whether this method is a constructor. * * @exception JavaModelException if this element does not exist or if an * exception occurs while accessing its corresponding resource. */ boolean isConstructor() throws JavaModelException; }