# FlagSet.Builder

Artifact: [androidx.media3:media3-common](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/common/FlagSet.java+class:androidx.media3.common.FlagSet.Builder)

*** ** * ** ***


```
public final class FlagSet.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/androidx/media3/common/FlagSet` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#Builder()()` Creates a builder. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#add(int)(int flag)` Adds a flag. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#addAll(int...)(int[] flags)` Adds flags. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#addAll(androidx.media3.common.FlagSet)(https://developer.android.com/reference/androidx/media3/common/FlagSet flags)` Adds `https://developer.android.com/reference/androidx/media3/common/FlagSet`. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#addIf(int,boolean)(int flag, boolean condition)` Adds a flag if the provided condition is true. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet` | `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()()` Builds an `https://developer.android.com/reference/androidx/media3/common/FlagSet` instance. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#remove(int)(int flag)` Removes a flag. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#removeAll(int...)(int[] flags)` Removes flags. |
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#removeIf(int,boolean)(int flag, boolean condition)` Removes a flag if the provided condition is true. |

## Public constructors

### Builder

```
public Builder()
```

Creates a builder.

## Public methods

### add

```
@CanIgnoreReturnValue
public FlagSet.Builder add(int flag)
```

Adds a flag.

| Parameters |
|---|---|
| `int flag` | A flag. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### addAll

```
@CanIgnoreReturnValue
public FlagSet.Builder addAll(int[] flags)
```

Adds flags.

| Parameters |
|---|---|
| `int[] flags` | The flags to add. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### addAll

```
@CanIgnoreReturnValue
public FlagSet.Builder addAll(FlagSet flags)
```

Adds `https://developer.android.com/reference/androidx/media3/common/FlagSet`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet flags` | The set of flags to add. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### addIf

```
@CanIgnoreReturnValue
public FlagSet.Builder addIf(int flag, boolean condition)
```

Adds a flag if the provided condition is true. Does nothing otherwise.

| Parameters |
|---|---|
| `int flag` | A flag. |
| `boolean condition` | A condition. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### build

```
public FlagSet build()
```

Builds an `https://developer.android.com/reference/androidx/media3/common/FlagSet` instance.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If this method has already been called. |

### remove

```
@CanIgnoreReturnValue
public FlagSet.Builder remove(int flag)
```

Removes a flag.

| Parameters |
|---|---|
| `int flag` | A flag. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### removeAll

```
@CanIgnoreReturnValue
public FlagSet.Builder removeAll(int[] flags)
```

Removes flags.

| Parameters |
|---|---|
| `int[] flags` | The flags to remove. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()` has already been called. |

### removeIf

```
@CanIgnoreReturnValue
public FlagSet.Builder removeIf(int flag, boolean condition)
```

Removes a flag if the provided condition is true. Does nothing otherwise.

| Parameters |
|---|---|
| `int flag` | A flag. |
| `boolean condition` | A condition. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder` | This builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If `https://developer.android.com/reference/androidx/media3/common/FlagSet.Builder#build()` has already been called. |