package com.piggymetrics.account.domain; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.hibernate.validator.constraints.Length; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; @Document(collection = "accounts") @JsonIgnoreProperties(ignoreUnknown = true) public class Account { @Id private String name; private Date lastSeen; @Valid private List<Item> incomes; @Valid private List<Item> expenses; @Valid @NotNull private Saving saving; @Length(min = 0, max = 20_000) private String note; public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getLastSeen() { return lastSeen; } public void setLastSeen(Date lastSeen) { this.lastSeen = lastSeen; } public List<Item> getIncomes() { return incomes; } public void setIncomes(List<Item> incomes) { this.incomes = incomes; } public List<Item> getExpenses() { return expenses; } public void setExpenses(List<Item> expenses) { this.expenses = expenses; } public Saving getSaving() { return saving; } public void setSaving(Saving saving) { this.saving = saving; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } }