00001 /* 00002 * OpenMobileIS - a free Java(TM) Framework for mobile applications Java(TM) 00003 * Copyright (C) 2004-2005 Philippe Delrieu 00004 * All rights reserved. 00005 * Contact: openmobileis@e-care.fr 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 * 2004 Creation P.Delrieu 00026 * 00027 */ 00028 package org.openmobileis.database.fastobjectdb.db; 00029 00030 import java.util.Hashtable; 00031 00032 import org.openmobileis.common.util.collection.Array; 00033 00041 public final class CollectionManager { 00042 protected Array collections; 00043 00047 public CollectionManager() { 00048 super(); 00049 collections = new Array(); 00050 } 00051 00052 public void addCollection(FODBCollection collection) { 00053 collections.add(collection); 00054 } 00055 00056 public FODBCollection getCollectionByName(String name) { 00057 FODBCollection col = null; 00058 for (int i=0; i<collections.size(); i++) { 00059 col = (FODBCollection) collections.get(i); 00060 if (col.getName().equals(name)) { 00061 return col; 00062 } 00063 } 00064 return null; 00065 } 00066 00067 public FODBCollection getCollectionByType(Class type) { 00068 FODBCollection col = null; 00069 for (int i=0; i<collections.size(); i++) { 00070 col = (FODBCollection) collections.get(i); 00071 if (col.getCollectionObjectClass().equals(type)) { 00072 return col; 00073 } 00074 } 00075 return null; 00076 } 00077 00078 public Hashtable getCollectionList() { 00079 FODBCollection col = null; 00080 Hashtable list = new Hashtable(collections.size()); 00081 for (int i=0; i<collections.size(); i++) { 00082 col = (FODBCollection) collections.get(i); 00083 list.put(col.getName(), col); 00084 } 00085 return list; 00086 } 00087 00088 public Array getCollectionArray() { 00089 return (Array) collections.clone(); 00090 } 00091 00092 }