T - enum typepublic final class EnumCodec<T extends Enum<T>> extends Object implements Codec<T>
enumerated types to Java Enum values.
This codec uses Enum.name() to map Postgres enum values as these are represented as string values.
Note that enum values are case-sensitive.
| Modifier and Type | Class and Description |
|---|---|
static class |
EnumCodec.Builder
Builder for
CodecRegistrar to register EnumCodec for one or more enum type mappings. |
| Constructor and Description |
|---|
EnumCodec(io.netty.buffer.ByteBufAllocator byteBufAllocator,
Class<T> type,
int oid) |
| Modifier and Type | Method and Description |
|---|---|
static EnumCodec.Builder |
builder()
Create a new
EnumCodec.Builder to build a CodecRegistrar to dynamically register Postgres enum types to Enum values. |
boolean |
canDecode(int dataType,
io.r2dbc.postgresql.message.Format format,
Class<?> type)
|
boolean |
canEncode(Object value)
Determine whether this
Codec is capable of encoding the value. |
boolean |
canEncodeNull(Class<?> type)
|
T |
decode(io.netty.buffer.ByteBuf buffer,
int dataType,
io.r2dbc.postgresql.message.Format format,
Class<? extends T> type)
Decode the
buffer and return it as the requested type. |
io.r2dbc.postgresql.client.Parameter |
encode(Object value)
Encode the
value to be used as RPC parameter. |
io.r2dbc.postgresql.client.Parameter |
encodeNull()
Encode a
null value. |
public boolean canDecode(int dataType,
io.r2dbc.postgresql.message.Format format,
Class<?> type)
Codecpublic boolean canEncode(Object value)
CodecCodec is capable of encoding the value.public boolean canEncodeNull(Class<?> type)
CodeccanEncodeNull in interface Codec<T extends Enum<T>>type - the desired value typetrue if this Codec is able to encode null values for the given Class type.Codec.encodeNull()public T decode(@Nullable io.netty.buffer.ByteBuf buffer, int dataType, io.r2dbc.postgresql.message.Format format, Class<? extends T> type)
Codecbuffer and return it as the requested type.public io.r2dbc.postgresql.client.Parameter encode(Object value)
Codecvalue to be used as RPC parameter.public io.r2dbc.postgresql.client.Parameter encodeNull()
Codecnull value.encodeNull in interface Codec<T extends Enum<T>>null valuepublic static EnumCodec.Builder builder()
EnumCodec.Builder to build a CodecRegistrar to dynamically register Postgres enum types to Enum values.Copyright © 2022. All rights reserved.