package jamel.basicModel.firms;
import java.util.List;
/**
* Represents a factory.
*/
interface Factory {
/**
* Closes the factory at the end of the period.
*/
void close();
/**
* Returns the capacity of this factory.
*
* @return the capacity of this factory.
*/
double getCapacity();
/**
* Returns the inventories of this factory.
*
* @return the inventories of this factory.
*/
Goods getInventories();
/**
* Returns the value of this factory (= tangible assets).
*
* @return the value of this factory.
*/
long getValue();
/**
* Opens the factory at the beginning of the period.
*/
void open();
/**
* Produces.
*
* @param workforce
* the list of the labor contracts.
*/
void production(final List<? extends LaborContract> workforce);
}