homeSoftwaredesign Softwaredesign: Beispiel: Dynamisches Laden eines Singletons Prof. Dr. Uwe Schmidt FH Wedel

Beispiel: Dynamisches Laden eines Singletons

weiter

weiter

die Klasse: DynamicSingleton

public
class DynamicSingleton {
 
  // ...
 
  private
  static
  DynamicSingleton ref = null;
 
  protected
  DynamicSingleton() {
    // ...
  }
 
  public
  static
  void initDynamicSingleton(String classPath) 
    throws
    ClassNotFoundException,
    IllegalAccessException,
    InstantiationException,
    ClassCastException {
 
      if ( ref == null ) {
        Class c = Class.forName(classPath);
        ref = (DynamicSingleton)c.newInstance();
      }
  }
 
  public
  static
  DynamicSingleton getRef()
    throws NullPointerException {
 
      if ( ref == null ) 
        throw
          new NullPointerException();
 
      // Alternative
      // 
      // if ( ref == null ) 
      //   initDynamicSingleton("defaultSingletonClass");
 
 
      return
        ref;
  }
}
weiter

Letzte Änderung: 13.04.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel