package com.example.listmaker.common.domain; import java.io.Serializable; import java.util.*; import com.fasterxml.jackson.annotation.JsonIgnore; import com.googlecode.objectify.Key; import com.googlecode.objectify.annotation.*; import com.googlecode.objectify.Ref; @Entity public class Note implements Serializable, Owned { @Id private Long id; @JsonIgnore private Ref<NoteList> listKey; private String itemText; @Index @JsonIgnore private Ref<User> ownerKey; private Date dateCreated = new Date(); public String getListName() { return listKey.get().getName(); } public void setListName(String listName) {} public Note() { // Empty constructor for GWT-RPC } public Note(String itemText) { this.itemText = itemText; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getItemText() { return itemText; } public void setItemText(String itemText) { this.itemText = itemText; } public Date getDateCreated() { return dateCreated; } public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } public Ref<NoteList> getListKey() { return listKey; } public void setListKey(Ref<NoteList> listKey) { this.listKey = listKey; } public long getListId() { return listKey.get().getId(); } // for JSON public void setListId(long id) { this.listKey = Ref.create(Key.create(NoteList.class, id)); } public Ref<User> getOwnerKey() { return ownerKey; } public void setOwnerKey(Ref<User> ownerKey) { this.ownerKey = ownerKey; } }