# JsonPersistentStateCommandCodec&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsonpersistentstatecommandcodec-1/)

## Apply(JournalBufferReader, IPersistentStateCommandHandler&lt;T&gt;) {#apply-orleans-journaling-journalbufferreader-orleans-journaling-ipersistentstate-1e73cf14}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsonpersistentstatecommandcodec-1/methods/apply-orleans-journaling-journalbufferreader-orleans-journaling-ipersistentstate-1e73cf14/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableValueCommandCodecs.cs#L90-L99)

```csharp
public void Apply(JournalBufferReader input, IPersistentStateCommandHandler<T> consumer)
```

Reads one encoded command and applies it to `consumer`.

### Parameters

- `input` (`JournalBufferReader`)
- `consumer` (`IPersistentStateCommandHandler<T>`)

## WriteClear(JournalStreamWriter) {#writeclear-orleans-journaling-journalstreamwriter-f35c4abd}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsonpersistentstatecommandcodec-1/methods/writeclear-orleans-journaling-journalstreamwriter-f35c4abd/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableValueCommandCodecs.cs#L81-L85)

```csharp
public void WriteClear(JournalStreamWriter writer)
```

Writes a clear command.

### Parameters

- `writer` (`JournalStreamWriter`)

## WriteSet(T, ulong, JournalStreamWriter) {#writeset-t-ulong-orleans-journaling-journalstreamwriter-34894c26}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsonpersistentstatecommandcodec-1/methods/writeset-t-ulong-orleans-journaling-journalstreamwriter-34894c26/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableValueCommandCodecs.cs#L67-L76)

```csharp
public void WriteSet(T state, ulong version, JournalStreamWriter writer)
```

Writes a set command.

### Parameters

- `state` (`T`)
- `version` (`ulong`)
- `writer` (`JournalStreamWriter`)
