de.mathema.util
Class Singleton
java.lang.Object
de.mathema.util.Singleton
public abstract class Singleton
- extends java.lang.Object
Klasse für Implementierung des Singleton-Patterns.
Benutzung z.B. mit einer anonymen Klasse:
class MyClass {
...
private static final Singleton _singleton = new Singleton() {
protected Object createInstance() {
return new MyClass();
}
};
...
public static MyClass getInstance() {
return (MyClass)_singleton.getInstance();
}
}
- Author:
- Uwe Wardenbach (uwe.wardenbach@gmx.de)
Method Summary |
protected abstract java.lang.Object |
createInstance()
Eine Klasse die einen Singleton benutzen will, überlädt diese Methode |
java.lang.Object |
getInstance()
implementiert threadsafe, aber effizient den Zugriff auf die
Singleton-Instanz und bei Bedarf deren Erzeugung über
createInstance()
Synchronisationsmechanismen werden nur benutzt, wenn der Singleton noch
nicht erzeugt ist |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_singleInstance
protected java.lang.Object _singleInstance
Singleton
public Singleton()
createInstance
protected abstract java.lang.Object createInstance()
throws java.lang.Exception
- Eine Klasse die einen Singleton benutzen will, überlädt diese Methode
- Returns:
- description
- Throws:
java.lang.Exception
getInstance
public final java.lang.Object getInstance()
throws java.lang.Exception
- implementiert threadsafe, aber effizient den Zugriff auf die
Singleton-Instanz und bei Bedarf deren Erzeugung über
createInstance()
Synchronisationsmechanismen werden nur benutzt, wenn der Singleton noch
nicht erzeugt ist
- Returns:
- Referenz auf das mit createInstance() erzeugte Objekt
- Throws:
java.lang.Exception