package org.catrobat.html5player.client.formulaeditor; import java.util.HashMap; public class SensorController implements SensorNotifyingInterface { private HashMap<Sensors, Sensor> _sensors; private static SensorController _instance; private SensorController(){ Init(); } protected void Init() { _sensors = new HashMap<Sensors, Sensor>(); } public static SensorController GetController(){ if (_instance == null) { _instance = new SensorController(); } return _instance; } public Sensor GetSensor(Sensors sensor){ if (!_sensors.containsKey(sensor)) { GenerateSensor(sensor); } return _sensors.get(sensor); } public void ActivateSensor(Sensors sensor) { if (!_sensors.containsKey(sensor)) { GenerateSensor(sensor); } } private void GenerateSensor(Sensors sensor) { Sensor concrete = null; switch (sensor) { case OBJECT_ROTATION: concrete = new OrientationSensor(this); break; default: break; } _sensors.put(sensor, concrete); } @Override public void Notify(Sensor sensor) { } }