aws / aws/aws-sdk-java-v2

DynamoDB Enhanced: Support other java.time types

Open
#4,707 1 comment 0 reactions 0 assignees View on GitHub
dynamodb-enhanced feature-request p2
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

### Describe the feature

As of 2.21.25, the DynamoDB Enhanced client supports out-of-the-box a large portion of the `java.time` value types, such as `Instant`, `LocalTime`, and even `ZoneId`. However, there are some other types that do not have built-in converters.

### Use Case

I am writing a table to track usage for billing purposes, and one of my columns is the billing month, represented in Java code by `java.time.YearMonth`. The naive string representation is simply "YYYY-mm", which is exactly what I want in my column, but `YearMonth` can't be mapped without extra configuration.

### Proposed Solution

Add converters for all remaining `java.time` value types, particularly including:
- `Month`
- `MonthDay`
- `Period`
- `Year`
- `YearMonth`

All of these types have simple, clearly-defined ISO-8601 representations that are their native defaults.

### Other Information

_No response_

### Acknowledgements

- [x] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### AWS Java SDK version used

2.21.25

### JDK version used

openjdk version "11.0.18" 2023-01-17

### Operating System and version

Gentoo Linux

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.