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 package org.openmobileis.modules.profiles.terminal;
00029
00030 import org.openmobileis.common.util.collection.Array;
00031 import org.openmobileis.common.util.exception.ServiceException;
00032 import org.openmobileis.common.util.log.*;
00033 import org.openmobileis.services.Service;
00034
00042 public abstract class RubricLoader {
00043
00044
00046 public RubricLoader() {
00047
00048 }
00049
00055 public abstract void preLoadingInit() throws ServiceException;
00056
00062 public abstract void postLoadingInit() throws ServiceException;
00063
00068 public Array loadService() throws ServiceException{
00069 Array ret = new Array();
00070 try {
00071 String[] serviceList = this.getServiceClassList();
00072 if (serviceList != null) {
00073 for (int i=0; i<serviceList.length;i++) {
00074 if (serviceList[i] != null) {
00075 Service service = (Service) Class.forName(serviceList[i]).newInstance();
00076 ret.add(service);
00077 }
00078 }
00079 }
00080 } catch (Exception ex) {
00081 LogManager.traceError(LogServices.WEBSERVICE, "Can't load module");
00082 throw new ServiceException (ex);
00083 }
00084 return ret;
00085 }
00086
00092 public abstract String[] getServiceClassList() throws ServiceException;
00093
00094 }