package com.nvarghese.beowulf.common.model;
import java.util.Date;
import org.bson.types.ObjectId;
import com.google.code.morphia.annotations.Id;
import com.google.code.morphia.annotations.Transient;
public abstract class AbstractDocument {
@Id
protected ObjectId id;
@Transient
protected boolean saved;
@Transient
protected int retries;
/* life cycle management */
protected Date lastUpdated;
protected Date createdOn;
public AbstractDocument() {
saved = false;
retries = 0;
}
public ObjectId getId() {
return id;
}
public void setId(final ObjectId id) {
this.id = id;
}
public Date getLastUpdated() {
return lastUpdated;
}
public void setLastUpdated(final Date lastUpdated) {
this.lastUpdated = lastUpdated;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCreatedOn(final Date createdOn) {
this.createdOn = createdOn;
}
public boolean isSaved() {
return saved;
}
public void setSaved(final boolean isSaved) {
this.saved = isSaved;
}
public int getRetries() {
return retries;
}
public void setRetries(final int retries) {
this.retries = retries;
}
}