# JavaSerializableSerializer

Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/serialization/serializers/BuiltInSerializer.android.kt+class:androidx.savedstate.serialization.serializers.JavaSerializableSerializer) Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

*** ** * ** ***

Common/AllAndroid/JVM
- android

  ```
  abstract class JavaSerializableSerializer<T : Serializable> : KSerializer<T>
  ```

*** ** * ** ***

A serializer for `https://developer.android.com/reference/java/io/Serializable.html`. This serializer uses `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`'s API directly to save/load a `https://developer.android.com/reference/java/io/Serializable.html`. You must extend this serializer for each of your `https://developer.android.com/reference/java/io/Serializable.html` subclasses.

Note that this serializer should be used with `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateEncoder` or `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateDecoder` only. Using it with other Encoders/Decoders may throw `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html`.

```kotlin
import androidx.savedstate.serialization.serializers.JavaSerializableSerializer

@Serializable
data class MyModel(
    @Serializable(with = MyJavaSerializableSerializer::class)
    val serializable: MyJavaSerializable
)
```

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/package-summary#encodeToSavedState(kotlin.Any,androidx.savedstate.serialization.SavedStateConfiguration)` |   |
| `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/package-summary#decodeFromSavedState(androidx.savedstate.SavedState,androidx.savedstate.serialization.SavedStateConfiguration)` |   |

## Summary

| ### Public constructors |
|---|---|
| `<T : https://developer.android.com/reference/java/io/Serializable.html> https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/serializers/JavaSerializableSerializer#JavaSerializableSerializer()()` | android |

| ### Public functions |
|---|---|---|
| `final T` | `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/serializers/JavaSerializableSerializer#deserialize(kotlinx.serialization.encoding.Decoder)(decoder: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-decoder/index.html)` | android |
| `final https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/serializers/JavaSerializableSerializer#serialize(kotlinx.serialization.encoding.Encoder,java.io.Serializable)(encoder: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-encoder/index.html, value: T)` | android |

| ### Public properties |
|---|---|---|
| `final https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.descriptors/-serial-descriptor/index.html` | `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/serializers/JavaSerializableSerializer#descriptor()` | android |

## Public constructors

### JavaSerializableSerializer

android

```
<T : Serializable> JavaSerializableSerializer()
```

## Public functions

### deserialize

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

```
final fun deserialize(decoder: Decoder): T
```

### serialize

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

```
final fun serialize(encoder: Encoder, value: T): Unit
```

## Public properties

### descriptor

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

```
final val descriptor: SerialDescriptor
```