Exemplo de código: Como criar um singleton usando a API RuntimeStore

O seguinte exemplo cria um singleton usando o armazenamento em tempo de execução. Neste exemplo, a variável estática variable _instance é inicializada como null para cada processo em execução no sistema, de forma que getInstance() deve verificar a variável _instance toda vez que é invocada.

Para simplificar, este exemplo não mostra como criar a ID exclusiva.

import net.rim.device.api.system.*;
class MySingleton {
   private static MySingleton _instance;
   private static final long GUID = 0xab4dd61c5d004c18L;
   // constructor
   MySingleton() {}
   public static MySingleton getInstance() {
      if (_instance == null) {
         _instance = (MySingleton)RuntimeStore.getRuntimeStore().get(GUID);
      if (_instance == null) {
         MySingleton singleton = new MySingleton();
         RuntimeStore.getRuntimeStore().put(GUID, singleton);
         _instance = singleton;
         }
      }
      return _instance;
   }
}

Estas informações foram úteis? Gostaríamos de receber seus comentários.