package easysm.stores;
import easysm.datatypes.Name;
import easysm.datatypes.information.*;
import easysm.datatypes.visualization.ProjectVis;
/**
* @author FourCheeses Software Solutions
*/
public class Project implements java.io.Serializable
{
/**
* Required field to make serialization more robust. See documentation for
* technical details.
*/
private static final long serialVersionUID = -7271827216613487331L;
private Name name;
private String authorName;
private String version;
private ClassDiagram inputCD;
private StateObservers stateObservers;
private Events events;
private StateTable stateTable;
private StateMachine stateMachine;
private ClassDiagram outputCD;
private ProjectVis vis;
public Project(ProjectInfo projectInfo)
{
name = projectInfo.name();
authorName = projectInfo.authorName();
version = projectInfo.version();
vis = new ProjectVis(this);
inputCD = new ClassDiagram(new ClassDiagramInfo());
stateObservers = new StateObservers(new StateObserversInfo());
events = new Events(new EventsInfo());
stateTable = new StateTable(new StateTableInfo());
}
/*
*
* Properties
*
*/
public Name name()
{
return name;
}
public String authorName()
{
return authorName;
}
public String version()
{
return version;
}
public ClassDiagram inputCD()
{
return inputCD;
}
public StateObservers stateObservers()
{
return stateObservers;
}
public Events events()
{
return events;
}
public StateTable stateTable()
{
return stateTable;
}
public StateMachine stateMachine()
{
return stateMachine;
}
public ClassDiagram outputCD()
{
return outputCD;
}
public ProjectVis vis()
{
return vis;
}
/*
*
* Operations called by Main
*
*/
public void setStateMachine(StateMachine stateMachine)
{
this.stateMachine = stateMachine;
}
public void setOutputCD(ClassDiagram outputCD)
{
this.outputCD = outputCD;
}
public void clear()
{
stateObservers.clear();
events.clear();
stateTable.clear();
stateMachine = null;
outputCD = null;
}
}