ConstructorInvocation

public final class ConstructorInvocation


Reflectively invokes the constructor of a declared class.

Summary

Public constructors

ConstructorInvocation(
    @NonNull Class<Object> clazz,
    @Nullable Class<Annotation> annotationClass,
    @Nullable Class[] parameterTypes
)

Creates a new ConstructorInvocation.

Public methods

Object
invokeConstructor(Object[] constructorParams)

Invokes the target constructor with the provided constructor parameters

Public constructors

ConstructorInvocation

public ConstructorInvocation(
    @NonNull Class<Object> clazz,
    @Nullable Class<Annotation> annotationClass,
    @Nullable Class[] parameterTypes
)

Creates a new ConstructorInvocation.

Constructor lookup is either done using an annotation by passing the annotationClass as a parameter or through parameterTypes lookup. This class will attempt to lookup a constructor by first looking for a constructor annotated with annotationClass. If no constructors are found it will fallback and try to use parameterTypes.

Parameters
@NonNull Class<Object> clazz

the declared class to create the instance off

@Nullable Class<Annotation> annotationClass

the annotation class to lookup the constructor

@Nullable Class[] parameterTypes

array of parameter types to lookup a constructor on the declared class. The declared order of parameter types must match the order of the constructor parameters passed into invokeConstructor.

Public methods

invokeConstructor

public Object invokeConstructor(Object[] constructorParams)

Invokes the target constructor with the provided constructor parameters

Parameters
Object[] constructorParams

array of objects to be passed as arguments to the constructor

Returns
Object

a new instance of the declared class