# ConstructorInvocation

Summary:[Ctors](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#pubctors)\|[Methods](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#)  

# ConstructorInvocation

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public

final

class
ConstructorInvocation
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object.html)`


``


`

|---|------------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||
| ↳ | android.support.test.espresso.remote.ConstructorInvocation |

<br />

*** ** * ** ***

Reflectively invokes the constructor of a declared class.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                   ### Public constructors                                                                                                                                                                                                                                                                                                                                                                                    ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[ConstructorInvocation](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#ConstructorInvocation(java.lang.Class<?>, java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<?>...))`(`[Class](https://developer.android.com/reference/java/lang/Class.html)`<?> clazz, `[Class](https://developer.android.com/reference/java/lang/Class.html)`<? extends `[Annotation](https://developer.android.com/reference/java/lang/annotation/Annotation.html)`> annotationClass, `[Class...](https://developer.android.com/reference/java/lang/Class.html)`<?> parameterTypes) ` Creates a new[ConstructorInvocation](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation). |

|                                                                                                                                                                                                    ### Public methods                                                                                                                                                                                                    ||
|----------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[Object](https://developer.android.com/reference/java/lang/Object.html) | ` `[invokeConstructor](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#invokeConstructor(java.lang.Object...))`(`[Object...](https://developer.android.com/reference/java/lang/Object.html)` constructorParams) ` Invokes the target constructor with the provided constructor parameters |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#)From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object.html)` ` |-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object.html)          | ` clone() `                                                                                | | ` boolean`                                                                          | ` equals(`[Object](https://developer.android.com/reference/java/lang/Object.html)` arg0) ` | | ` void`                                                                             | ` finalize() `                                                                             | | ` final `[Class](https://developer.android.com/reference/java/lang/Class.html)`<?>` | ` getClass() `                                                                             | | ` int`                                                                              | ` hashCode() `                                                                             | | ` final void`                                                                       | ` notify() `                                                                               | | ` final void`                                                                       | ` notifyAll() `                                                                            | | ` `[String](https://developer.android.com/reference/java/lang/String.html)          | ` toString() `                                                                             | | ` final void`                                                                       | ` wait(long arg0, int arg1) `                                                              | | ` final void`                                                                       | ` wait(long arg0) `                                                                        | | ` final void`                                                                       | ` wait() `                                                                                 | ||

## Public constructors

### ConstructorInvocation

```
ConstructorInvocation (Class<?> clazz, 
                Class<? extends Annotation> annotationClass, 
                Class...<?> parameterTypes)
```

Creates a new[ConstructorInvocation](https://developer.android.com/reference/android/support/test/espresso/remote/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`.

<br />

|                                                                                                                                                                                       Parameters                                                                                                                                                                                       ||
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `clazz`           | `Class`: the declared class to create the instance off <br />                                                                                                                                                                                                                                                                                                       |
| `annotationClass` | `Class`: the annotation class to lookup the constructor <br />                                                                                                                                                                                                                                                                                                      |
| `parameterTypes`  | `Class`: 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(Object)](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation#invokeConstructor(java.lang.Object...)). <br /> |

## Public methods

### invokeConstructor

```
Object invokeConstructor (Object... constructorParams)
```

Invokes the target constructor with the provided constructor parameters

<br />

|                                             Parameters                                              ||
|---------------------|--------------------------------------------------------------------------------|
| `constructorParams` | `Object`: array of objects to be passed as arguments to the constructor <br /> |

|                                                       Returns                                                        ||
|-------------------------------------------------------------------------|---------------------------------------------|
| [Object](https://developer.android.com/reference/java/lang/Object.html) | a new instance of the declared class <br /> |

-

  ## Interfaces

  - [Bindable](https://developer.android.com/reference/android/support/test/espresso/remote/Bindable)
  - [Converter](https://developer.android.com/reference/android/support/test/espresso/remote/Converter)
  - [EspressoRemoteMessage](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage)
  - [EspressoRemoteMessage.From](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage.From)
  - [EspressoRemoteMessage.To](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemoteMessage.To)
  - [RemoteInteraction](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteInteraction)
-

  ## Classes

  - [ConstructorInvocation](https://developer.android.com/reference/android/support/test/espresso/remote/ConstructorInvocation)
  - [EspressoRemote](https://developer.android.com/reference/android/support/test/espresso/remote/EspressoRemote)
  - [FieldDescriptor](https://developer.android.com/reference/android/support/test/espresso/remote/FieldDescriptor)
  - [GenericRemoteMessage](https://developer.android.com/reference/android/support/test/espresso/remote/GenericRemoteMessage)
  - [InteractionRequest](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionRequest)
  - [InteractionRequest.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionRequest.Builder)
  - [InteractionResponse](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse)
  - [InteractionResponse.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.Builder)
  - [InteractionResponse.RemoteError](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.RemoteError)
  - [NoopRemoteInteraction](https://developer.android.com/reference/android/support/test/espresso/remote/NoopRemoteInteraction)
  - [ProtoUtils](https://developer.android.com/reference/android/support/test/espresso/remote/ProtoUtils)
  - [RemoteDescriptor](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptor)
  - [RemoteDescriptor.Builder](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptor.Builder)
  - [RemoteDescriptorRegistry](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteDescriptorRegistry)
  - [RemoteInteractionRegistry](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteInteractionRegistry)
  - [TypeProtoConverters](https://developer.android.com/reference/android/support/test/espresso/remote/TypeProtoConverters)
-

  ## Enums

  - [InteractionResponse.Status](https://developer.android.com/reference/android/support/test/espresso/remote/InteractionResponse.Status)
-

  ## Exceptions

  - [NoRemoteEspressoInstanceException](https://developer.android.com/reference/android/support/test/espresso/remote/NoRemoteEspressoInstanceException)
  - [RemoteEspressoException](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteEspressoException)
  - [RemoteProtocolException](https://developer.android.com/reference/android/support/test/espresso/remote/RemoteProtocolException)