org.mars_sim.msp.simulation
Interface Lab

All Known Implementing Classes:
MobileLaboratory, Research

public interface Lab

The Lab interface represents a unit that can perform the function of a research laboratory.


Method Summary
 void addResearcher()
          Adds a researcher to the laboratory.
 int getLaboratorySize()
          Gets the laboratory size.
 int getResearcherNum()
          Gets the number of people currently researching in the laboratory.
 int getTechnologyLevel()
          Gets the technology level of laboratory (units defined later)
 java.lang.String[] getTechSpecialities()
          Gets the lab's science specialities as an array of Strings
 boolean hasSpeciality(java.lang.String speciality)
          Checks to see if the laboratory has a given tech speciality.
 void removeResearcher()
          Removes a researcher from the laboratory.
 

Method Detail

getLaboratorySize

int getLaboratorySize()
Gets the laboratory size. This is the number of researchers supportable at any given time.

Returns:
the size of the laboratory (in researchers).

getTechnologyLevel

int getTechnologyLevel()
Gets the technology level of laboratory (units defined later)

Returns:
the technology level of the laboratory (units defined later)

getTechSpecialities

java.lang.String[] getTechSpecialities()
Gets the lab's science specialities as an array of Strings

Returns:
the lab's science specialities as an array of Strings

hasSpeciality

boolean hasSpeciality(java.lang.String speciality)
Checks to see if the laboratory has a given tech speciality.

Returns:
true if lab has tech speciality

getResearcherNum

int getResearcherNum()
Gets the number of people currently researching in the laboratory.

Returns:
number of researchers

addResearcher

void addResearcher()
                   throws java.lang.Exception
Adds a researcher to the laboratory.

Throws:
java.lang.Exception - if person cannot be added.

removeResearcher

void removeResearcher()
                      throws java.lang.Exception
Removes a researcher from the laboratory.

Throws:
java.lang.Exception - if person cannot be removed.