AWS ограничение DynamoDB для атрибута DynamoDBA - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь наложить ограничение на атрибут, основанный на другом атрибуте. Если состояние включено, то имя должно иметь значение. Как я могу поставить ограничение? Использование JDK 8

@DynamoDBTable(tableName = "myTable")
public class MyTable {
    private String id;
    private State state;//Enabled or Disabled
    private String name;//if state is enabled then name property must have a value 

    public MyTable() {}

    public MyTable(final String id) {
        this.id = id;
    }

    @DynamoDBHashKey
    public String getId() {
        return id;
    }

    public void setId(final String id) {
        this.id = id;
    }

    public State getState() {
        return state;
    }

    public void setState(final State state) {
        this.state = state;
    }

    public String getName() {
        return name;
    }

    public void setName(final String name) {
        this.name = name;
    }
}

1 Ответ

2 голосов
/ 13 февраля 2020

Это можно сделать только программно:

if ("enabled".equals(myTable.getState()) {
    Objects.requireNonNull(myTable.getName(), "Name is missing while state is enabled");
}
mapper.save(myTable);
...