00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 package org.openmobileis.common.context;
00031
00032 import org.openmobileis.common.util.collection.Array;
00033 import org.openmobileis.common.util.log.LogManager;
00034
00044 public class ApplicationContextManager implements ApplicationContextService {
00045 private static ApplicationContextManager manager = null;
00046
00047 private ApplicationContext applicationContext;
00048
00049 private Array managerList;
00050
00051 protected ApplicationContextManager(boolean init) {
00052 if (init) {
00053 managerList = new Array(10);
00054 applicationContext = new ApplicationContext();
00055 } else {
00056 LogManager.traceDebug(0, "ApplicationContextManager registerManager already done no use");
00057 }
00058 }
00059
00060 public static void registerApplicationContext(ApplicationContextManager applicontext) {
00061 if (manager == null) manager = applicontext;
00062 }
00063
00064 public final static ApplicationContextManager getManager() {
00065 if (manager == null) {
00066 synchronized (ApplicationContextManager.class) {
00067 if (manager == null) {
00068 manager = new ApplicationContextManager(true);
00069 }
00070 }
00071
00072 }
00073 return manager;
00074 }
00075
00081 public void addManager(Object manager) {
00082 managerList.add(manager);
00083 }
00084
00085 public void setApplicationContext(ApplicationContext context) {
00086 applicationContext = context;
00087 }
00088
00089 public ApplicationContext getApplicationContext() {
00090 return applicationContext;
00091 }
00092 }