/** * Created on 24.03.2005 * * @author Jens Guenther */ package de.unirostock.Singleton.example; public class ShipMarket { /** * * @uml.property name="itsNumShipInStock" multiplicity="(0 1)" */ private int itsNumShipsInStock = 0; /** * * @uml.property name="instance" multiplicity="(0 1)" */ private static ShipMarket itsInstance; /** * * @uml.property name="instance" */ public static synchronized ShipMarket getInstance() { if( itsInstance == null ) itsInstance = new ShipMarket(); return itsInstance; } private ShipMarket() { } public boolean sellShip() { if( itsNumShipsInStock != 0 ){ itsNumShipsInStock--; return true; } return false; } public void buyShip() { itsNumShipsInStock++; } public int getNumShipsToSell() { return itsNumShipsInStock; } }