package users;

import java.util.List;

/**
* A UserLog contains all of the UserEvents for a single User.
*/
public abstract class UserLog
{
	/**
	* The list of all events that a user performed.
	*/
	private List<UserEvent> history;


	/**
	* Default constructor for a UserLog object
	*/
	public UserLog() {
	
	}
	
	/**
	* Returns the list of UserEvents as a log.
	* @return a log of UserEvents.
	*/
	public abstract List<UserEvent> getHistory();

	/**
	* Adds an event to this userlog
    * @param evt event being added to the Users history
    *
	pre:
		(!history.contains(evt));
	post:
		(history'.contains(evt)) && (history'.size() == history.size()+1);
	*/
	public abstract void addEvent(UserEvent evt);
}