Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Enums](https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type#enumconstants) \| [Methods](https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type#inhmethods)

# MessagePattern.Part.Type

*** ** * ** ***


`
public
static
final

enum
MessagePattern.Part.Type
`


`


`

`

extends https://developer.android.com/reference/java/lang/Enum<https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type>


`

`


`

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)\<[android.icu.text.MessagePattern.Part.Type](https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type)\> ||
|   | ↳ | android.icu.text.MessagePattern.Part.Type |

<br />

*** ** * ** ***

Part type constants.

## Summary

| ### Enum values ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_DOUBLE` A numeric value, for example the offset or an explicit selector value in a PluralFormat style. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_INT` An integer value, for example the offset or an explicit selector value in a PluralFormat style. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_LIMIT` End of an argument. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_NAME` The argument name. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_NUMBER` The argument number, provided by the value. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_SELECTOR` A selector substring in a "complex" argument style. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_START` Start of an argument. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_STYLE` The argument style text. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `ARG_TYPE` The argument type. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `INSERT_CHAR` Indicates that a syntax character needs to be inserted for auto-quoting. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `MSG_LIMIT` End of a message pattern (main or nested). |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `MSG_START` Start of a message pattern (main or nested). |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `REPLACE_NUMBER` Indicates a syntactic (non-escaped) # symbol in a plural variant. |
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | `SKIP_SYNTAX` Indicates a substring of the pattern string which is to be skipped when formatting. |

| ### Public methods ||
|---|---|
| ` boolean` | ` https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type#hasNumericValue()() ` Indicates whether this part has a numeric value. |
| ` static https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | ` https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type#valueOf(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` |
| ` static final https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | ` https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type#values()() ` |

### Inherited methods

From class `

https://developer.android.com/reference/java/lang/Enum

` `


final

https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Enum#clone()()
`

Throws CloneNotSupportedException.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#compareTo(E)(https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type o)
`

Compares this enum with the specified object for order.


`


final

boolean` `
https://developer.android.com/reference/java/lang/Enum#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object other)
`

Returns true if the specified object is equal to this
enum constant.


`


final

void` `
https://developer.android.com/reference/java/lang/Enum#finalize()()
`

enum classes cannot have finalize methods.


`


final

https://developer.android.com/reference/java/lang/Class<https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type>` `
https://developer.android.com/reference/java/lang/Enum#getDeclaringClass()()
`

Returns the Class object corresponding to this enum constant's
enum type.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#hashCode()()
`

Returns a hash code for this enum constant.


`


final

https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Enum#name()()
`

Returns the name of this enum constant, exactly as declared in its
enum declaration.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#ordinal()()
`

Returns the ordinal of this enumeration constant (its position
in its enum declaration, where the initial constant is assigned
an ordinal of zero).


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Enum#toString()()
`

Returns the name of this enum constant, as contained in the
declaration.


`


static

<T extends https://developer.android.com/reference/java/lang/Enum<T>>
T` `
https://developer.android.com/reference/java/lang/Enum#valueOf(java.lang.Class<T>,%20java.lang.String)(https://developer.android.com/reference/java/lang/Class<T> enumClass, https://developer.android.com/reference/java/lang/String name)
`

Returns the enum constant of the specified enum class with the
specified name.


From class `

https://developer.android.com/reference/java/lang/Object

` `


https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Object#clone()()
`

Creates and returns a copy of this object.


`


boolean` `
https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj)
`

Indicates whether some other object is "equal to" this one.


`


void` `
https://developer.android.com/reference/java/lang/Object#finalize()()
`

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.


`


final

https://developer.android.com/reference/java/lang/Class<?>` `
https://developer.android.com/reference/java/lang/Object#getClass()()
`

Returns the runtime class of this `Object`.


`


int` `
https://developer.android.com/reference/java/lang/Object#hashCode()()
`

Returns a hash code value for the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notify()()
`

Wakes up a single thread that is waiting on this object's
monitor.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notifyAll()()
`

Wakes up all threads that are waiting on this object's monitor.


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Object#toString()()
`

Returns a string representation of the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait()()
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*.


From interface `

https://developer.android.com/reference/java/lang/Comparable

` `
abstract


int` `
https://developer.android.com/reference/java/lang/Comparable#compareTo(T)(https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type o)
`

Compares this object with the specified object for order.


## Enum values

### ARG_DOUBLE

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_DOUBLE
```

A numeric value, for example the offset or an explicit selector value
in a PluralFormat style.
The part value is an index into an internal array of numeric values;
use getNumericValue().

<br />

### ARG_INT

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_INT
```

An integer value, for example the offset or an explicit selector value
in a PluralFormat style.
The part value is the integer value.

<br />

### ARG_LIMIT

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_LIMIT
```

End of an argument.
The length is 1 for the '}'.
The value is the ordinal value of the ArgType. Use getArgType().

<br />

### ARG_NAME

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_NAME
```

The argument name.
The value is undefined and currently always 0.

<br />

### ARG_NUMBER

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_NUMBER
```

The argument number, provided by the value.

<br />

### ARG_SELECTOR

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_SELECTOR
```

A selector substring in a "complex" argument style.
The value is undefined and currently always 0.

<br />

### ARG_START

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_START
```

Start of an argument.
The length is 1 for the '{'.
The value is the ordinal value of the ArgType. Use getArgType().


This part is followed by either an ARG_NUMBER or ARG_NAME,
followed by optional argument sub-parts (see ArgType constants)
and finally an ARG_LIMIT part.

<br />

### ARG_STYLE

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_STYLE
```

The argument style text.
The value is undefined and currently always 0.

<br />

### ARG_TYPE

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type ARG_TYPE
```

The argument type.
The value is undefined and currently always 0.

<br />

### INSERT_CHAR

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type INSERT_CHAR
```

Indicates that a syntax character needs to be inserted for auto-quoting.
The length is 0.
The value is the character code of the insertion character. (U+0027=APOSTROPHE)

<br />

### MSG_LIMIT

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type MSG_LIMIT
```

End of a message pattern (main or nested).
The length is 0 for the top-level message and
the last sub-message of a choice argument,
otherwise 1 for the '}' or (in a choice argument style) the '\|'.
The value indicates the nesting level, starting with 0 for the main message.

<br />

### MSG_START

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type MSG_START
```

Start of a message pattern (main or nested).
The length is 0 for the top-level message
and for a choice argument sub-message, otherwise 1 for the '{'.
The value indicates the nesting level, starting with 0 for the main message.


There is always a later MSG_LIMIT part.

<br />

### REPLACE_NUMBER

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type REPLACE_NUMBER
```

Indicates a syntactic (non-escaped) # symbol in a plural variant.
When formatting, replace this part's substring with the
(value-offset) for the plural argument value.
The value is undefined and currently always 0.

<br />

### SKIP_SYNTAX

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final MessagePattern.Part.Type SKIP_SYNTAX
```

Indicates a substring of the pattern string which is to be skipped when formatting.
For example, an apostrophe that begins or ends quoted text
would be indicated with such a part.
The value is undefined and currently always 0.

<br />

## Public methods

### hasNumericValue

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean hasNumericValue ()
```

Indicates whether this part has a numeric value.
If so, then that numeric value can be retrieved via `https://developer.android.com/reference/android/icu/text/MessagePattern#getNumericValue(android.icu.text.MessagePattern.Part)`.

<br />

| Returns ||
|---|---|
| `boolean` | true if this part has a numeric value. <br /> |

### valueOf

```
public static MessagePattern.Part.Type valueOf (String name)
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `String` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | <br /> |

### values

```
public static final Type[] values ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/MessagePattern.Part.Type` | <br /> |