Class StaticMethodName


  • public final class StaticMethodName
    extends java.lang.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 Detail

      • startStaticMethodAccess

        public static StaticMethodName startStaticMethodAccess​(java.lang.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:
        java.lang.NullPointerException - if the given name is null.
        java.lang.IllegalArgumentException - if the given name is empty.
      • withReturnType

        public <T> StaticMethodReturnType<T> withReturnType​(java.lang.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:
        java.lang.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:
        java.lang.NullPointerException - if the given type reference is null.
      • withParameterTypes

        public StaticMethodParameterTypes<java.lang.Void> withParameterTypes​(java.lang.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:
        java.lang.NullPointerException - if the array of parameter types is null.
      • in

        public Invoker<java.lang.Void> in​(java.lang.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:
        java.lang.NullPointerException - if the given target is null.