# UserAgentMetadata.BrandVersion.Builder

Artifact: [androidx.webkit:webkit](https://developer.android.com/jetpack/androidx/releases/webkit) [View Source](https://cs.android.com/search?q=file:androidx/webkit/UserAgentMetadata.java+class:androidx.webkit.UserAgentMetadata.BrandVersion.Builder) Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.9.0)

*** ** * ** ***


```
public final class UserAgentMetadata.BrandVersion.Builder
```

<br />

*** ** * ** ***

Builder used to create `https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion` objects.

Examples:

```
 // Create a setting with a brand version contains brand name: myBrand,
 // major version: 100, full version: 100.1.1.1.
 new BrandVersion.Builder().setBrand("myBrand")
                           .setMajorVersion("100")
                           .setFullVersion("100.1.1.1")
                           .build();
```

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder#Builder()()` Create an empty BrandVersion Builder. |
| `https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder#Builder(androidx.webkit.UserAgentMetadata.BrandVersion)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion brandVersion)` Create a BrandVersion Builder from an existing BrandVersion object. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion` | `https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder#build()()` Builds the current brand, majorVersion and fullVersion into a BrandVersion object. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder` | `https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder#setBrand(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html brand)` Sets the BrandVersion's brand. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder` | `https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder#setFullVersion(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html fullVersion)` Sets the BrandVersion's fullVersion. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder` | `https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion.Builder#setMajorVersion(java.lang.String)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html majorVersion)` Sets the BrandVersion's majorVersion. |

## Public constructors

### Builder

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.9.0)

```
public Builder()
```

Create an empty BrandVersion Builder.

### Builder

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.9.0)

```
public Builder(@NonNull UserAgentMetadata.BrandVersion brandVersion)
```

Create a BrandVersion Builder from an existing BrandVersion object.

## Public methods

### build

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.9.0)

```
public @NonNull UserAgentMetadata.BrandVersion build()
```

Builds the current brand, majorVersion and fullVersion into a BrandVersion object.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/webkit/UserAgentMetadata.BrandVersion` | The BrandVersion object represented by this Builder. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException.html` | If any of the value in brand, majorVersion and fullVersion is null or blank. |

### setBrand

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.9.0)

```
public @NonNull UserAgentMetadata.BrandVersion.Builder setBrand(@NonNull String brand)
```

Sets the BrandVersion's brand. The brand should not be blank.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html brand` | The brand is used to generate user-agent client hint `sec-ch-ua` and `sec-ch-ua-full-version-list`. |

### setFullVersion

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.9.0)

```
public @NonNull UserAgentMetadata.BrandVersion.Builder setFullVersion(@NonNull String fullVersion)
```

Sets the BrandVersion's fullVersion. The fullVersion should not be blank.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html fullVersion` | The brand is used to generate user-agent client hint `sec-ch-ua-full-version-list`. |

### setMajorVersion

Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/webkit#1.9.0)

```
public @NonNull UserAgentMetadata.BrandVersion.Builder setMajorVersion(@NonNull String majorVersion)
```

Sets the BrandVersion's majorVersion. The majorVersion should not be blank.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html majorVersion` | The majorVersion is used to generate user-agent client hint `sec-ch-ua`. |