Class StaticMethodName

java.lang.Object
org.fest.reflect.method.StaticMethodName

public final class StaticMethodName extends Object
Understands the name of a static method to invoke using Java Reflection.

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

   // Equivalent to call 'Jedi.setCommonPower("Jump")'
   staticMethod("setCommonPower").withParameterTypes(String.class)
                                 .in(Jedi.class)
                                 .invoke("Jump");

   // Equivalent to call 'Jedi.addPadawan()'
   staticMethod("addPadawan").in(Jedi.class).invoke();

   // Equivalent to call 'Jedi.commonPowerCount()'
   String name = staticMethod("commonPowerCount").withReturnType(String.class)
                                                 .in(Jedi.class)
                                                 .invoke();

   // Equivalent to call 'Jedi.getCommonPowers()'
   List<String> powers = staticMethod("getCommonPowers").withReturnType(new TypeRef<List<String>>() {})
                                                        .in(Jedi.class)
                                                        .invoke();
 

Author:
Alex Ruiz
  • Method Details

    • startStaticMethodAccess

      public static StaticMethodName startStaticMethodAccess(String name)
      Creates a new StaticMethodName: the starting point of the fluent interface for accessing static methods using Java Reflection.
      Parameters:
      name - the name of the method to access using Java Reflection.
      Returns:
      the created StaticMethodName.
      Throws:
      NullPointerException - if the given name is null.
      IllegalArgumentException - if the given name is empty.
    • withReturnType

      public <T> StaticMethodReturnType<T> withReturnType(Class<T> type)
      Specifies the return type of the static 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> StaticMethodReturnTypeRef<T> withReturnType(TypeRef<T> type)
      Specifies the return type reference of the static 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.
    • withParameterTypes

      public StaticMethodParameterTypes<Void> withParameterTypes(Class<?>... parameterTypes)
      Specifies the parameter types of the static 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(Class<?> target)
      Creates a new invoker for a static 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.