Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse JDT
Release 3.5

org.eclipse.jdt.core.dom
Interface IMethodBinding

All Superinterfaces:
IBinding

public interface IMethodBinding
extends IBinding

A method binding represents a method or constructor of a class or interface. Method bindings usually correspond directly to method or constructor declarations found in the source code. However, in certain cases of references to a generic method, the method binding may correspond to a copy of a generic method declaration with substitutions for the method's type parameters (for these, getTypeArguments returns a non-empty list, and either isParameterizedMethod or isRawMethod returns true). And in certain cases of references to a method declared in a generic type, the method binding may correspond to a copy of a method declaration with substitutions for the type's type parameters (for these, getTypeArguments returns an empty list, and both isParameterizedMethod and isRawMethod return false).

Since:
2.0
See Also:
ITypeBinding.getDeclaredMethods()
Restriction:
This interface is not intended to be implemented by clients.

Field Summary
 
Fields inherited from interface org.eclipse.jdt.core.dom. IBinding
ANNOTATION, MEMBER_VALUE_PAIR, METHOD, PACKAGE, TYPE, VARIABLE
 
Method Summary
  ITypeBinding getDeclaringClass ()
          Returns the type binding representing the class or interface that declares this method or constructor.
  Object getDefaultValue ()
          Returns the resolved default value of an annotation type member, or null if the member has no default value, or if this is not the binding for an annotation type member.
  ITypeBinding[] getExceptionTypes ()
          Returns a list of type bindings representing the types of the exceptions thrown by this method or constructor.
  IMethodBinding getMethodDeclaration ()
          Returns the binding for the method declaration corresponding to this method binding.
  String getName ()
          Returns the name of the method declared in this binding.
  IAnnotationBinding[] getParameterAnnotations (int paramIndex)
          Returns the resolved annotations of a parameter of this method.
  ITypeBinding[] getParameterTypes ()
          Returns a list of type bindings representing the formal parameter types, in declaration order, of this method or constructor.
  ITypeBinding getReturnType ()
          Returns the binding for the return type of this method.
  ITypeBinding[] getTypeArguments ()
          Returns the type arguments of this generic method instance, or the empty list for other method bindings.
  ITypeBinding[] getTypeParameters ()
          Returns the type parameters of this method or constructor binding.
 boolean isAnnotationMember ()
          Returns whether this is the binding for an annotation type member.
 boolean isConstructor ()
          Returns whether this binding is for a constructor or a method.
 boolean isDefaultConstructor ()
          Returns whether this binding is known to be a compiler-generated default constructor.
 boolean isGenericMethod ()
          Returns whether this method binding represents a declaration of a generic method.
 boolean isParameterizedMethod ()
          Returns whether this method binding represents an instance of a generic method corresponding to a parameterized method reference.
 boolean isRawMethod ()
          Returns whether this method binding represents an instance of a generic method corresponding to a raw method reference.
 boolean isSubsignature ( IMethodBinding otherMethod)
          Returns whether this method's signature is a subsignature of the given method as specified in section 8.4.2 of The Java Language Specification, Third Edition (JLS3).
 boolean isVarargs ()
          Returns whether this is a variable arity method.
 boolean overrides ( IMethodBinding method)
          Returns whether this method overrides the given method, as specified in section 8.4.8.1 of The Java Language Specification, Third Edition (JLS3).
 
Methods inherited from interface org.eclipse.jdt.core.dom. IBinding
equals, getAnnotations, getJavaElement, getKey, getKind, getModifiers, isDeprecated, isEqualTo, isRecovered, isSynthetic, toString
 

Method Detail

isConstructor

boolean isConstructor()
Returns whether this binding is for a constructor or a method.

Returns:
true if this is the binding for a constructor, and false if this is the binding for a method

isDefaultConstructor

boolean isDefaultConstructor()
Returns whether this binding is known to be a compiler-generated default constructor.

This method returns false for:

  • methods
  • constructors with more than one parameter
  • 0-argument constructors where the binding information was obtained from a Java source file containing an explicit 0-argument constructor declaration
  • 0-argument constructors where the binding information was obtained from a Java class file (it is not possible to determine from a class file whether a 0-argument constructor was present in the source code versus generated automatically by a Java compiler)

Returns:
true if this is known to be the binding for a compiler-generated default constructor, and false otherwise
Since:
3.0

getName

String getName()
Returns the name of the method declared in this binding. The method name is always a simple identifier. The name of a constructor is always the same as the declared name of its declaring class.

Specified by:
getName in interface IBinding
Returns:
the name of this method, or the declared name of this constructor's declaring class

getDeclaringClass

ITypeBinding getDeclaringClass()
Returns the type binding representing the class or interface that declares this method or constructor.

Returns:
the binding of the class or interface that declares this method or constructor

getDefaultValue

Object getDefaultValue()
Returns the resolved default value of an annotation type member, or null if the member has no default value, or if this is not the binding for an annotation type member.

Resolved values are represented as follows (same as for IMemberValuePairBinding.getValue()):

  • Primitive type - the equivalent boxed object
  • java.lang.Class - the ITypeBinding for the class object
  • java.lang.String - the string value itself
  • enum type - the IVariableBinding for the enum constant
  • annotation type - an IAnnotationBinding
  • array type - an Object[] whose elements are as per above (the language only allows single dimensional arrays in annotations)

Returns:
the default value of this annotation type member, or null if none or not applicable
Since:
3.2

getParameterAnnotations

IAnnotationBinding[] getParameterAnnotations(int paramIndex)
Returns the resolved annotations of a parameter of this method. The result returned is the same regardless of whether this is a parameterized method.

Parameters:
paramIndex - the index of the parameter of interest
Returns:
the resolved annotations of the paramIndexth parameter, or an empty list if there are none
Throws:
ArrayIndexOutOfBoundsException - if paramIndex is not a valid index
Since:
3.2

getParameterTypes

ITypeBinding[] getParameterTypes()
Returns a list of type bindings representing the formal parameter types, in declaration order, of this method or constructor. Returns an array of length 0 if this method or constructor does not takes any parameters.

Note that the binding for the last parameter type of a vararg method declaration like void fun(Foo... args) is always for an array type (i.e., Foo[]) reflecting the the way varargs get compiled. However, the type binding obtained directly from the SingleVariableDeclaration for the vararg parameter is always for the type as written; i.e., the type binding for Foo.

Note: The result does not include synthetic parameters introduced by inner class emulation.

Returns:
a (possibly empty) list of type bindings for the formal parameters of this method or constructor

getReturnType

ITypeBinding getReturnType()
Returns the binding for the return type of this method. Returns the special primitive void return type for constructors.

Returns:
the binding for the return type of this method, or the void return type for constructors

getExceptionTypes

ITypeBinding[] getExceptionTypes()
Returns a list of type bindings representing the types of the exceptions thrown by this method or constructor. Returns an array of length 0 if this method throws no exceptions. The resulting types are in no particular order.

Returns:
a list of type bindings for exceptions thrown by this method or constructor

getTypeParameters

ITypeBinding[] getTypeParameters()
Returns the type parameters of this method or constructor binding.

Note that type parameters only occur on the binding of the declaring generic method. Type bindings corresponding to a raw or parameterized reference to a generic method do not carry type parameters (they instead have non-empty type arguments and non-trivial erasure).

Returns:
the list of binding for the type variables for the type parameters of this method, or otherwise the empty list
Since:
3.1
See Also:
ITypeBinding.isTypeVariable()

isAnnotationMember

boolean isAnnotationMember()
Returns whether this is the binding for an annotation type member.

Returns:
true iff this is the binding for an annotation type member and false otherwise
Since:
3.2

isGenericMethod

boolean isGenericMethod()
Returns whether this method binding represents a declaration of a generic method.

Note that type parameters only occur on the binding of the declaring generic method; e.g., public <T> T identity(T t);. Method bindings corresponding to a raw or parameterized reference to a generic method do not carry type parameters (they instead have non-empty type arguments and non-trivial erasure). This method is fully equivalent to getTypeParameters().length > 0).

Note that isGenericMethod(), isParameterizedMethod(), and isRawMethod() are mutually exclusive.

Returns:
true if this method binding represents a declaration of a generic method, and false otherwise
Since:
3.1
See Also:
getTypeParameters()

isParameterizedMethod

boolean isParameterizedMethod()
Returns whether this method binding represents an instance of a generic method corresponding to a parameterized method reference.

Note that isGenericMethod(), isParameterizedMethod(), and isRawMethod() are mutually exclusive.

Returns:
true if this method binding represents a an instance of a generic method corresponding to a parameterized method reference, and false otherwise
Since:
3.1
See Also:
getMethodDeclaration(), getTypeArguments()

getTypeArguments

ITypeBinding[] getTypeArguments()
Returns the type arguments of this generic method instance, or the empty list for other method bindings.

Note that type arguments only occur on a method binding that represents an instance of a generic method corresponding to a raw or parameterized reference to a generic method. Do not confuse these with type parameters which only occur on the method binding corresponding directly to the declaration of a generic method.

Returns:
the list of type bindings for the type arguments used to instantiate the corrresponding generic method, or otherwise the empty list
Since:
3.1
See Also:
getMethodDeclaration(), isParameterizedMethod(), isRawMethod()

getMethodDeclaration

IMethodBinding getMethodDeclaration()
Returns the binding for the method declaration corresponding to this method binding. For parameterized methods ( isParameterizedMethod()) and raw methods ( isRawMethod()), this method returns the binding for the corresponding generic method. For other method bindings, this returns the same binding.

Note: The one notable exception is the method Object.getClass(), which is declared to return Class<? extends Object>, but when invoked its return type becomes Class<? extends R >, where R is the compile type of the receiver of the method invocation.

Returns:
the method binding
Since:
3.1

isRawMethod

boolean isRawMethod()
Returns whether this method binding represents an instance of a generic method corresponding to a raw method reference.

Note that isGenericMethod(), isParameterizedMethod(), and isRawMethod() are mutually exclusive.

Returns:
true if this method binding represents a an instance of a generic method corresponding to a raw method reference, and false otherwise
Since:
3.1
See Also:
getMethodDeclaration(), getTypeArguments()

isSubsignature

boolean isSubsignature(
IMethodBinding otherMethod)
Returns whether this method's signature is a subsignature of the given method as specified in section 8.4.2 of The Java Language Specification, Third Edition (JLS3).

Returns:
true if this method's signature is a subsignature of the given method
Since:
3.1

isVarargs

boolean isVarargs()
Returns whether this is a variable arity method.

Note: Variable arity ("varargs") methods were added in JLS3.

Returns:
true if this is a variable arity method, and false otherwise
Since:
3.1

overrides

boolean overrides(
IMethodBinding method)
Returns whether this method overrides the given method, as specified in section 8.4.8.1 of The Java Language Specification, Third Edition (JLS3).

Parameters:
method - the method that is possibly overriden
Returns:
true if this method overrides the given method, and false otherwise
Since:
3.1

Eclipse JDT
Release 3.5

Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire