org.mars_sim.msp.core.science
Class ScientificStudyManager

java.lang.Object
  extended by org.mars_sim.msp.core.science.ScientificStudyManager
All Implemented Interfaces:
java.io.Serializable

public class ScientificStudyManager
extends java.lang.Object
implements java.io.Serializable

A class that keeps track of all scientific studies in the simulation.

See Also:
Serialized Form

Constructor Summary
ScientificStudyManager()
          Constructor.
 
Method Summary
 ScientificStudy createScientificStudy(Person researcher, Science science, int difficultyLevel)
          Creates a new scientific study.
 java.util.List<ScientificStudy> getAllStudies(Person researcher)
          Gets a list of all studies a researcher is involved with.
 java.util.List<ScientificStudy> getAllStudies(Settlement settlement)
          Gets a list of all studies a settlement is primary for.
 java.util.List<ScientificStudy> getCanceledStudies()
          Gets all canceled scientific studies.
 java.util.List<ScientificStudy> getCompletedCollaborativeStudies(Person researcher)
          Gets all completed scientific studies where researcher was a collaborative researcher.
 java.util.List<ScientificStudy> getCompletedPrimaryStudies(Person researcher)
          Gets all completed scientific studies where researcher was the primary researcher.
 java.util.List<ScientificStudy> getCompletedPrimaryStudies(Settlement settlement)
          Gets all completed scientific studies at a primary research settlement.
 java.util.List<ScientificStudy> getCompletedStudies()
          Gets all completed scientific studies, regardless of completion state.
 java.util.List<ScientificStudy> getFailedStudies()
          Gets all failed completed scientific studies.
 java.util.List<ScientificStudy> getOngoingCollaborativeStudies(Person researcher)
          Gets all ongoing scientific studies where researcher is a collaborative researcher.
 java.util.List<ScientificStudy> getOngoingPrimaryStudies(Settlement settlement)
          Gets all ongoing scientific studies at a primary research settlement.
 ScientificStudy getOngoingPrimaryStudy(Person researcher)
          Gets the researcher's ongoing primary research scientific study, if any.
 java.util.List<ScientificStudy> getOngoingStudies()
          Gets all ongoing scientific studies.
 java.util.List<ScientificStudy> getOpenInvitationStudies(Person collaborativeResearcher)
          Gets all studies that have open invitations for collaboration for a researcher.
 java.util.List<ScientificStudy> getSuccessfulStudies()
          Gets all successfully completed scientific studies.
 void updateStudies()
          Update all of the studies.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScientificStudyManager

public ScientificStudyManager()
Constructor.

Method Detail

createScientificStudy

public ScientificStudy createScientificStudy(Person researcher,
                                             Science science,
                                             int difficultyLevel)
Creates a new scientific study.

Parameters:
researcher - the primary researcher.
science - the primary field of science.
difficultyLevel - the difficulty level of the study.
Returns:
the created study.

getOngoingStudies

public java.util.List<ScientificStudy> getOngoingStudies()
Gets all ongoing scientific studies.

Returns:
list of studies.

getCompletedStudies

public java.util.List<ScientificStudy> getCompletedStudies()
Gets all completed scientific studies, regardless of completion state.

Returns:
list of studies.

getSuccessfulStudies

public java.util.List<ScientificStudy> getSuccessfulStudies()
Gets all successfully completed scientific studies.

Returns:
list of studies.

getFailedStudies

public java.util.List<ScientificStudy> getFailedStudies()
Gets all failed completed scientific studies.

Returns:
list of studies.

getCanceledStudies

public java.util.List<ScientificStudy> getCanceledStudies()
Gets all canceled scientific studies.

Returns:
list of studies.

getOngoingPrimaryStudy

public ScientificStudy getOngoingPrimaryStudy(Person researcher)
Gets the researcher's ongoing primary research scientific study, if any.

Parameters:
researcher - the primary researcher.
Returns:
primary research scientific study or null if none.

getCompletedPrimaryStudies

public java.util.List<ScientificStudy> getCompletedPrimaryStudies(Person researcher)
Gets all completed scientific studies where researcher was the primary researcher.

Parameters:
researcher - the primary researcher.
Returns:
list of studies.

getOngoingCollaborativeStudies

public java.util.List<ScientificStudy> getOngoingCollaborativeStudies(Person researcher)
Gets all ongoing scientific studies where researcher is a collaborative researcher.

Parameters:
researcher - the collaborative researcher.
Returns:
list of studies.

getCompletedCollaborativeStudies

public java.util.List<ScientificStudy> getCompletedCollaborativeStudies(Person researcher)
Gets all completed scientific studies where researcher was a collaborative researcher.

Parameters:
researcher - the collaborative researcher.
Returns:
list of studies.

getOngoingPrimaryStudies

public java.util.List<ScientificStudy> getOngoingPrimaryStudies(Settlement settlement)
Gets all ongoing scientific studies at a primary research settlement.

Parameters:
settlement - the primary research settlement.
Returns:
list of studies.

getCompletedPrimaryStudies

public java.util.List<ScientificStudy> getCompletedPrimaryStudies(Settlement settlement)
Gets all completed scientific studies at a primary research settlement.

Parameters:
settlement - the primary research settlement.
Returns:
list of studies.

getOpenInvitationStudies

public java.util.List<ScientificStudy> getOpenInvitationStudies(Person collaborativeResearcher)
Gets all studies that have open invitations for collaboration for a researcher.

Parameters:
collaborativeResearcher - the collaborative researcher.
Returns:
list of studies.

getAllStudies

public java.util.List<ScientificStudy> getAllStudies(Person researcher)
Gets a list of all studies a researcher is involved with.

Parameters:
researcher - the researcher.
Returns:
list of scientific studies.

getAllStudies

public java.util.List<ScientificStudy> getAllStudies(Settlement settlement)
Gets a list of all studies a settlement is primary for.

Parameters:
settlement - the settlement.
Returns:
list of scientific studies.

updateStudies

public void updateStudies()
Update all of the studies.