org.fest.reflect.method
Class MethodName

java.lang.Object
  extended by org.fest.reflect.method.MethodName

public final class MethodName
extends Object

Understands the name of a method to invoke using Java Reflection.

The following is an example of proper usage of this class:

   // Equivalent to call 'person.setName("Luke")'
   method("setName").withParameterTypes(String.class)
                    .in(person)
                    .invoke("Luke");

   // Equivalent to call 'person.concentrate()'
   method("concentrate").in(person).invoke();

   // Equivalent to call 'person.getName()'
   String name = method("getName").withReturnType(String.class)
                                  .in(person)
                                  .invoke();

   // Equivalent to call 'jedi.getPowers()'
   List<String> powers = method("getPowers").withReturnType(new TypeRef<List<String>>() {})
                                            .in(person)
                                            .invoke();
 

Author:
Yvonne Wang, Alex Ruiz

Method Summary
 Invoker<Void> in(Object target)
          Creates a new invoker for a method that takes no parameters and return value void.
static MethodName startMethodAccess(String name)
          Creates a new MethodName: the starting point of the fluent interface for accessing methods using Java Reflection.
 MethodParameterTypes<Void> withParameterTypes(Class<?>... parameterTypes)
          Specifies the parameter types of the method to invoke.
<T> MethodReturnType<T>
withReturnType(Class<T> type)
          Specifies the return type of the method to invoke.
<T> MethodReturnTypeRef<T>
withReturnType(TypeRef<T> type)
          Specifies the return type reference of the method to invoke.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

startMethodAccess

public static MethodName startMethodAccess(String name)
Creates a new MethodName: the starting point of the fluent interface for accessing methods using Java Reflection.

Parameters:
name - the name of the method to invoke using Java Reflection.
Returns:
the created MethodName.
Throws:
NullPointerException - if the given name is null.
IllegalArgumentException - if the given name is empty.

withReturnType

public <T> MethodReturnType<T> withReturnType(Class<T> type)
Specifies the return type of the method to invoke. This method call is optional if the return type of the method to invoke is void.

Type Parameters:
T - the generic type of the method's return type.
Parameters:
type - the return type of the method to invoke.
Returns:
the created return type holder.
Throws:
NullPointerException - if the given type is null.

withReturnType

public <T> MethodReturnTypeRef<T> withReturnType(TypeRef<T> type)
Specifies the return type reference of the method to invoke. This method call is optional if the return type of the method to invoke is void.

Type Parameters:
T - the generic type of the method's return type.
Parameters:
type - the return type reference of the method to invoke.
Returns:
the created return type holder.
Throws:
NullPointerException - if the given type reference is null.
Since:
1.1

withParameterTypes

public MethodParameterTypes<Void> withParameterTypes(Class<?>... parameterTypes)
Specifies the parameter types of the method to invoke. This method call is optional if the method to invoke does not take arguments.

Parameters:
parameterTypes - the parameter types of the method to invoke.
Returns:
the created parameter types holder.
Throws:
NullPointerException - if the array of parameter types is null.

in

public Invoker<Void> in(Object target)
Creates a new invoker for a method that takes no parameters and return value void.

Parameters:
target - the object containing the method to invoke.
Returns:
the created method invoker.
Throws:
NullPointerException - if the given target is null.


Copyright © 2007-2011 FEST (Fixtures for Easy Software Testing). All Rights Reserved.