# RemoteDescriptorRegistry

Artifact: [androidx.test.espresso:espresso-remote](https://developer.android.com/jetpack/androidx/releases/test-espresso) [View Source](https://cs.android.com/search?q=file:androidx/test/espresso/remote/RemoteDescriptorRegistry.java+class:androidx.test.espresso.remote.RemoteDescriptorRegistry)

*** ** * ** ***

<br />

```
class RemoteDescriptorRegistry
```

<br />

*** ** * ** ***

A registry for registering remote descriptors. Remote descriptors are registered in the form of a `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor` object.

## Summary

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!` | `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry#argForInstanceType(java.lang.Class<?>)(targetType: https://developer.android.com/reference/java/lang/Class.html<*>)` |
| `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!` | `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry#argForMsgType(java.lang.Class<?>)(protoMsgType: https://developer.android.com/reference/java/lang/Class.html<*>)` |
| `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!` | `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry#argForRemoteTypeUrl(java.lang.String)(typeUrl: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Returns an `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor` by its any type url. |
| `java-static https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry!` | `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry#getInstance()()` Returns a `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry` object |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry#hasArgForInstanceType(java.lang.Class<?>)(instanceType: https://developer.android.com/reference/java/lang/Class.html<*>)` Checks if an instance type is registered with this registry. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry#registerRemoteTypeArgs(java.util.List<androidx.test.espresso.remote.RemoteDescriptor>)( remoteDescriptors: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!> )` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry#unregisterRemoteTypeArgs(java.util.List<androidx.test.espresso.remote.RemoteDescriptor>)( remoteDescriptors: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!> )` |

## Public functions

### argForInstanceType

```
fun argForInstanceType(targetType: Class<*>): RemoteDescriptor!
```

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!` | an `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor` object by its target type. |

### argForMsgType

```
fun argForMsgType(protoMsgType: Class<*>): RemoteDescriptor!
```

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!` | an `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor` object by its proto message type. |

### argForRemoteTypeUrl

```
fun argForRemoteTypeUrl(typeUrl: String): RemoteDescriptor!
```

Returns an `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor` by its any type url. The any type url in this case must match the remote type class, which knows how to convert a class to and from its target type!

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor!` | an `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor` object by its remote type url. |

### getInstance

```
java-static fun getInstance(): RemoteDescriptorRegistry!
```

Returns a `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry` object

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry!` | an instance of `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptorRegistry` object. |

### hasArgForInstanceType

```
fun hasArgForInstanceType(instanceType: Class<*>): Boolean
```

Checks if an instance type is registered with this registry.

| Parameters |
|---|---|
| `instanceType: https://developer.android.com/reference/java/lang/Class.html<*>` | the instance to check |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if a `https://developer.android.com/reference/kotlin/androidx/test/espresso/remote/RemoteDescriptor` is registered for instance type |

### registerRemoteTypeArgs

```
fun registerRemoteTypeArgs(
    remoteDescriptors: (Mutable)List<RemoteDescriptor!>
): Boolean
```

### unregisterRemoteTypeArgs

```
fun unregisterRemoteTypeArgs(
    remoteDescriptors: (Mutable)List<RemoteDescriptor!>
): Unit
```