aws / aws/aws-lambda-java-libs

How about some Builders in lambda-java-events

Đang mở
#566 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
548
Fork
241
Merge trung bình
2 ngày 5 phút
Pull request đã merge (30 ngày)
11

Mô tả

The core AWS Java/Kotlin libraries provide builders for just about every object. Builders abound! In the `aws-lambda-java-events` library we get sad old POJOs.

```Kotlin
val messageAttribute = SQSEvent.MessageAttribute()
messageAttribute.stringValue = "So Verbose!"

val sqsMessage = SQSEvent.SQSMessage()
sqsMessage.body = objectMapper.writeValueAsString(DummyMessage(name = "Bob"))
sqsMessage.messageAttributes["So-Much-Typing"] = messageAttribute // <<-- whoops, error, messageAttributes is null
```

I guess I could do this, but its not winning any awards:
```Kotlin
val messageAttribute = SQSEvent.MessageAttribute()
messageAttribute.stringValue = "Still have to do this on two lines"

val sqsMessage = SQSEvent.SQSMessage()
sqsMessage.body = objectMapper.writeValueAsString(DummyMessage(name = "Bob"))
sqsMessage.messageAttributes = mapOf("So-Much-Typing" to messageAttribute)
```

I'm using `SQSEvent` as an example because that's what I was working with today. But same goes for `SNSEvent`, `S3Event`, `ScheduleEvent`, `LexEvent`...

I see that `KafkaEvent` uses Lombok. I'd take that.

Thanks.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.