package ch.fhzh.info2.document;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Currency;
import java.util.List;
/**
* Interface of document business object
* @author seb
*
*/
public interface Document extends Serializable {
/**
* Enumeration of possible document
* types
* @author bseelige
*
*/
public static enum Type {
INVOICE,
ORDER,
BASKET,
/** used for unit tests */
TEST
}
/**
* Shortcut accessor to item collection's
* add method
* @param item the new item to add
*/
public abstract void addItem(Item item);
/**
* @return Returns the cur.
*/
public abstract Currency getCur();
/**
* @param cur The cur to set.
*/
public abstract void setCur(Currency cur);
/**
* @return Returns the id.
*/
public abstract String getId();
/**
* @param id The id to set.
*/
public abstract void setId(String id);
/**
* @return Returns the items.
*/
public abstract List<Item> getItems();
/**
* @param items The items to set.
*/
public abstract void setItems(List<Item> items);
/**
* @return Returns the reference.
*/
public abstract String getReference();
/**
* @param reference The reference to set.
*/
public abstract void setReference(String reference);
/**
* @return Returns the totalCent.
*/
public abstract long getTotalCent();
/**
* @param totalCent The totalCent to set.
*/
public abstract void setTotalCent(long totalCent);
/**
* @return Returns the type.
*/
public abstract Type getType();
/**
* @param type The type to set.
*/
public abstract void setType(Type type);
/**
* @return Returns the printRepresentation.
*/
public String getPrintRepresentation();
/**
* @param printRepresentation The printRepresentation to set.
*/
public void setPrintRepresentation(String printRepresentation);
/**
* @return the modTime
*/
public Calendar getModTime();
/**
* @param modTime the modTime to set
*/
public void setModTime(Calendar modTime);
}