fdda.core.impl
Class ProjectManagerImpl

java.lang.Object
  |
  +--fdda.core.impl.ProjectManagerImpl
All Implemented Interfaces:
ProjectManager

public class ProjectManagerImpl
extends Object
implements ProjectManager

Implementation of the project manager.

Author:
Jörg Rüdenauer

Constructor Summary
ProjectManagerImpl()
          Constructor
 
Method Summary
 void addProjectListener(ProjectListener projectListener)
          Adds a project listener.
 void changeProjectName(Project project, String newName)
          Changes the name of a project.
 boolean closeAll()
          Closes all projects.
 boolean closeProject(Project project)
          Closes a project.
protected  void fireActiveProjectChanged(ProjectEvent projectEvent)
          Informs the listeners that another project is active now
protected  void fireProjectClosed(ProjectEvent projectEvent)
          Informs the listeners that a project has been closed
protected  void fireProjectNameChanged(ProjectEvent projectEvent)
          Informs the listeners that a project name has been changed
protected  void fireProjectOpened(ProjectEvent projectEvent)
          Informs the listeners that a project has been opened
protected  void fireProjectStateChanged(ProjectEvent projectEvent)
          Informs the listeners that a project has changed its state
 Project getActiveProject()
          Returns the currently active project (the user activates projects by selecting the frame).
 int getNrOfProjects()
          Returns the number of projects that are open.
 boolean isInDemoState()
          Returns whether a project is currently being demonstrated.
 Project newProject()
          Creates a new project.
 Project openProject(String location)
          Opens a project from a certain location.
 Iterator projects()
          Returns an iterator over the open projects.
 void removeProjectListener(ProjectListener projectListener)
          Removes a project listener.
 void saveProject(Project project, boolean newName)
          Saves a project.
 void setActiveProject(Project project)
          Sets the currently active project.
 void setDemoStateForActiveProject()
          Turns the currently active project into demo state.
 void setModState()
          Returns to the modelling state.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectManagerImpl

public ProjectManagerImpl()
Constructor

Method Detail

newProject

public Project newProject()
Description copied from interface: ProjectManager
Creates a new project.

Specified by:
newProject in interface ProjectManager
Returns:
a new, empty project

openProject

public Project openProject(String location)
Description copied from interface: ProjectManager
Opens a project from a certain location. The current plugin is used to perform this operation. The new project is returned.

Specified by:
openProject in interface ProjectManager
Parameters:
location - storage location of the project, e.g. a file path
Returns:
the loaded project or null if an error occured

saveProject

public void saveProject(Project project,
                        boolean newName)
Description copied from interface: ProjectManager
Saves a project. The current plugin is used to perform this operation (and also to determine the storage location).

Specified by:
saveProject in interface ProjectManager
Parameters:
project - the project to be saved
newName - whether the project shall be saved in a new location ('save as')

closeProject

public boolean closeProject(Project project)
Description copied from interface: ProjectManager
Closes a project. Checks whether it should be saved and whether a demo must be stopped before closing.

Specified by:
closeProject in interface ProjectManager
Parameters:
project - the project to be closed
Returns:
true, iff the project was closed

closeAll

public boolean closeAll()
Description copied from interface: ProjectManager
Closes all projects.

Specified by:
closeAll in interface ProjectManager
Returns:
true, iff all projects were closed

getActiveProject

public Project getActiveProject()
Description copied from interface: ProjectManager
Returns the currently active project (the user activates projects by selecting the frame).

Specified by:
getActiveProject in interface ProjectManager
Returns:
the project that is active or null if no project is active

setActiveProject

public void setActiveProject(Project project)
Description copied from interface: ProjectManager
Sets the currently active project. This doesn't change the active frame but follows from changing the active frame.

Specified by:
setActiveProject in interface ProjectManager
Parameters:
project - the project that is active now

changeProjectName

public void changeProjectName(Project project,
                              String newName)
Description copied from interface: ProjectManager
Changes the name of a project.

Specified by:
changeProjectName in interface ProjectManager
Parameters:
project - the project
newName - the new name

getNrOfProjects

public int getNrOfProjects()
Description copied from interface: ProjectManager
Returns the number of projects that are open.

Specified by:
getNrOfProjects in interface ProjectManager
Returns:
the number of open projects

projects

public Iterator projects()
Description copied from interface: ProjectManager
Returns an iterator over the open projects.

Specified by:
projects in interface ProjectManager
Returns:
Iterator over the open projects

setModState

public void setModState()
Description copied from interface: ProjectManager
Returns to the modelling state. Since there can only be one project in demo state, no project must be given.

Specified by:
setModState in interface ProjectManager

isInDemoState

public boolean isInDemoState()
Description copied from interface: ProjectManager
Returns whether a project is currently being demonstrated.

Specified by:
isInDemoState in interface ProjectManager
Returns:
whether a project is currently in the demo state

setDemoStateForActiveProject

public void setDemoStateForActiveProject()
Description copied from interface: ProjectManager
Turns the currently active project into demo state.

Specified by:
setDemoStateForActiveProject in interface ProjectManager

addProjectListener

public void addProjectListener(ProjectListener projectListener)
Description copied from interface: ProjectManager
Adds a project listener.

Specified by:
addProjectListener in interface ProjectManager
Parameters:
projectListener - the listener

removeProjectListener

public void removeProjectListener(ProjectListener projectListener)
Description copied from interface: ProjectManager
Removes a project listener.

Specified by:
removeProjectListener in interface ProjectManager
Parameters:
projectListener - the listener

fireProjectOpened

protected final void fireProjectOpened(ProjectEvent projectEvent)
Informs the listeners that a project has been opened

Parameters:
projectEvent - the event

fireProjectClosed

protected final void fireProjectClosed(ProjectEvent projectEvent)
Informs the listeners that a project has been closed

Parameters:
projectEvent - the event

fireProjectStateChanged

protected final void fireProjectStateChanged(ProjectEvent projectEvent)
Informs the listeners that a project has changed its state

Parameters:
projectEvent - the event

fireActiveProjectChanged

protected final void fireActiveProjectChanged(ProjectEvent projectEvent)
Informs the listeners that another project is active now

Parameters:
projectEvent - the event

fireProjectNameChanged

protected final void fireProjectNameChanged(ProjectEvent projectEvent)
Informs the listeners that a project name has been changed

Parameters:
projectEvent - the event


API documentation for FDDA version 0.9. Generated on 17/02/2004 14:12.