# DynamicTypeBindingRequest

Artifact: [androidx.wear.protolayout:protolayout-expression-pipeline](https://developer.android.com/jetpack/androidx/releases/wear-protolayout) [View Source](https://cs.android.com/search?q=file:androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest.java+class:androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

*** ** * ** ***


```
public abstract class DynamicTypeBindingRequest
```

<br />

*** ** * ** ***

Holds the parameters needed by `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeEvaluator#bind(androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest)`. It can be used as follows:

```
DynamicTypeBindingRequest request = DynamicTypeBindingRequest.forDynamicInt32(source,consumer);
BoundDynamicType boundType = evaluator.bind(request);
```

## Summary

| ### Public methods |
|---|---|
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` | `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest#forDynamicBool(androidx.wear.protolayout.expression.DynamicBuilders.DynamicBool,java.util.concurrent.Executor,androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Boolean>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicBool boolSource, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Boolean.html> consumer )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicBool` for binding. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` | `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest#forDynamicColor(androidx.wear.protolayout.expression.DynamicBuilders.DynamicColor,java.util.concurrent.Executor,androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Integer>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicColor colorSource, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Integer.html> consumer )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicColor` for binding. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` | `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest#forDynamicDuration(androidx.wear.protolayout.expression.DynamicBuilders.DynamicDuration,java.util.concurrent.Executor,androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.time.Duration>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicDuration durationSource, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/time/Duration.html> consumer )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicDuration` for binding. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` | `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest#forDynamicFloat(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat,java.util.concurrent.Executor,androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Float>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat floatSource, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Float.html> consumer )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` for binding. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` | `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest#forDynamicInstant(androidx.wear.protolayout.expression.DynamicBuilders.DynamicInstant,java.util.concurrent.Executor,androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.time.Instant>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInstant instantSource, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/time/Instant.html> consumer )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInstant` for binding. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` | `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest#forDynamicInt32(androidx.wear.protolayout.expression.DynamicBuilders.DynamicInt32,java.util.concurrent.Executor,androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Integer>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInt32 int32Source, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Integer.html> consumer )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInt32` for binding. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` | `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest#forDynamicString(androidx.wear.protolayout.expression.DynamicBuilders.DynamicString,android.icu.util.ULocale,java.util.concurrent.Executor,androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.String>)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString stringSource, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/icu/util/ULocale.html locale, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/String.html> consumer )` Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` for binding. |

## Public methods

### forDynamicBool

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public static @NonNull DynamicTypeBindingRequest forDynamicBool(
    @NonNull DynamicBuilders.DynamicBool boolSource,
    @NonNull Executor executor,
    @NonNull DynamicTypeValueReceiver<Boolean> consumer
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicBool` for binding.

Results of evaluation will be sent through the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver` on the given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicBool boolSource` | The given boolean dynamic type that should be evaluated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | The Executor to run the consumer on. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Boolean.html> consumer` | The registered consumer for results of the evaluation. |

### forDynamicColor

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public static @NonNull DynamicTypeBindingRequest forDynamicColor(
    @NonNull DynamicBuilders.DynamicColor colorSource,
    @NonNull Executor executor,
    @NonNull DynamicTypeValueReceiver<Integer> consumer
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicColor` for binding.

Results of evaluation will be sent through the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver` on the given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicColor colorSource` | The given color dynamic type that should be evaluated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | The Executor to run the consumer on. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Integer.html> consumer` | The registered consumer for results of the evaluation. |

### forDynamicDuration

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public static @NonNull DynamicTypeBindingRequest forDynamicDuration(
    @NonNull DynamicBuilders.DynamicDuration durationSource,
    @NonNull Executor executor,
    @NonNull DynamicTypeValueReceiver<Duration> consumer
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicDuration` for binding.

Results of evaluation will be sent through the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver` on the given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicDuration durationSource` | The given duration dynamic type that should be evaluated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | The Executor to run the consumer on. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/time/Duration.html> consumer` | The registered consumer for results of the evaluation. |

### forDynamicFloat

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public static @NonNull DynamicTypeBindingRequest forDynamicFloat(
    @NonNull DynamicBuilders.DynamicFloat floatSource,
    @NonNull Executor executor,
    @NonNull DynamicTypeValueReceiver<Float> consumer
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat` for binding.

Results of evaluation will be sent through the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver` on the given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicFloat floatSource` | The given float dynamic type that should be evaluated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | The Executor to run the consumer on. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Float.html> consumer` | The registered consumer for results of the evaluation. |

### forDynamicInstant

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public static @NonNull DynamicTypeBindingRequest forDynamicInstant(
    @NonNull DynamicBuilders.DynamicInstant instantSource,
    @NonNull Executor executor,
    @NonNull DynamicTypeValueReceiver<Instant> consumer
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInstant` for binding.

Results of evaluation will be sent through the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver` on the given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInstant instantSource` | The given instant dynamic type that should be evaluated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | The Executor to run the consumer on. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/time/Instant.html> consumer` | The registered consumer for results of the evaluation. |

### forDynamicInt32

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public static @NonNull DynamicTypeBindingRequest forDynamicInt32(
    @NonNull DynamicBuilders.DynamicInt32 int32Source,
    @NonNull Executor executor,
    @NonNull DynamicTypeValueReceiver<Integer> consumer
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInt32` for binding.

Results of evaluation will be sent through the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver` on the given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicInt32 int32Source` | The given integer dynamic type that should be evaluated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | The Executor to run the consumer on. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/Integer.html> consumer` | The registered consumer for results of the evaluation. |

### forDynamicString

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-protolayout#1.0.0)

```
public static @NonNull DynamicTypeBindingRequest forDynamicString(
    @NonNull DynamicBuilders.DynamicString stringSource,
    @NonNull ULocale locale,
    @NonNull Executor executor,
    @NonNull DynamicTypeValueReceiver<String> consumer
)
```

Creates a `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeBindingRequest` from the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString` for binding.

Results of evaluation will be sent through the given `https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver` on the given `https://developer.android.com/reference/java/util/concurrent/Executor.html`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/DynamicBuilders.DynamicString stringSource` | The given String dynamic type that should be evaluated. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/icu/util/ULocale.html locale` | The locale used for the given String source. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | The Executor to run the consumer on. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/wear/protolayout/expression/pipeline/DynamicTypeValueReceiver<https://developer.android.com/reference/java/lang/String.html> consumer` | The registered consumer for results of the evaluation. |