00001 /* 00002 * OpenMobileIS - a free Java(TM) Framework for mobile applications Java(TM) 00003 * Copyright (C) 2004-2006 Philippe Delrieu 00004 * All rights reserved. 00005 * Contact: pdelrieu@openmobileis.org 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00020 * USA 00021 * 00022 * Author : Philippe Delrieu 00023 * 00024 * Modifications : 00025 * Creation P.Delrieu 00026 * 00027 */ 00028 package org.openmobileis.modules.common.data; 00029 00030 import org.openmobileis.common.context.ApplicationContextManager; 00031 import org.openmobileis.common.util.collection.Array; 00032 import org.openmobileis.common.util.exception.DatabaseException; 00033 import org.openmobileis.common.util.exception.ServiceException; 00034 00043 public class GlobalPropertyManager { 00044 00045 00046 private static GlobalPropertyManager manager; 00047 private GlobalPropertyFactory factory; 00051 public GlobalPropertyManager(GlobalPropertyFactory factory) { 00052 super(); 00053 this.factory = factory; 00054 } 00055 00056 public static void registerManager(GlobalPropertyManager m) { 00057 manager = m; 00058 ApplicationContextManager.getManager().addManager(manager); 00059 } 00060 00061 public static GlobalPropertyManager getManager() { 00062 return manager; 00063 } 00064 00065 public static void removeManager() { 00066 manager = null; 00067 } 00068 00069 public GlobalPropertyFactory getFactory() { 00070 return this.factory; 00071 } 00072 00073 public GlobalProperty getProperty(String service, String key) throws ServiceException { 00074 return this.factory.getProperty(service, key); 00075 } 00076 00077 public Array getPropertiesForService(String service) throws ServiceException { 00078 return this.factory.getPropertiesForService(service); 00079 } 00080 00081 public Array getAllGlobalProperties() throws ServiceException { 00082 return this.factory.getAllGlobalProperties(); 00083 } 00084 00085 public void storeProperty(GlobalProperty property) throws DatabaseException { 00086 this.factory.storeProperty(property); 00087 } 00088 00089 public void deleteProperty(String service, String key) throws DatabaseException { 00090 this.factory.deleteProperty(service, key); 00091 } 00092 00093 00094 }