KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > ejb > plugins > cmp > ejbql > Catalog


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2005, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.ejb.plugins.cmp.ejbql;
23
24 import java.util.Collections JavaDoc;
25 import java.util.HashMap JavaDoc;
26 import java.util.Map JavaDoc;
27 import java.util.Set JavaDoc;
28
29 import org.jboss.ejb.plugins.cmp.bridge.EntityBridge;
30
31 /**
32  * This class maintains a map of all entitie bridges in an application by name.
33  *
34  * @author <a HREF="mailto:dain@daingroup.com">Dain Sundstrom</a>
35  * @version $Revision: 37459 $
36  */

37 public final class Catalog {
38    private final Map JavaDoc entityByAbstractSchemaName = new HashMap JavaDoc();
39    private final Map JavaDoc entityByEJBName = new HashMap JavaDoc();
40    private final Map JavaDoc entityByInterface = new HashMap JavaDoc();
41
42    public void addEntity(EntityBridge entityBridge) {
43       entityByAbstractSchemaName.put(
44             entityBridge.getAbstractSchemaName(),
45             entityBridge);
46       entityByEJBName.put(
47             entityBridge.getEntityName(),
48             entityBridge);
49
50       Class JavaDoc remote = entityBridge.getRemoteInterface();
51       if(remote != null) {
52          entityByInterface.put(remote, entityBridge);
53       }
54       Class JavaDoc local = entityBridge.getLocalInterface();
55       if(local != null) {
56          entityByInterface.put(local, entityBridge);
57       }
58          
59    }
60
61    public EntityBridge getEntityByAbstractSchemaName(
62          String JavaDoc abstractSchemaName) {
63       return (EntityBridge) entityByAbstractSchemaName.get(abstractSchemaName);
64    }
65
66    public EntityBridge getEntityByInterface(Class JavaDoc intf) {
67       return (EntityBridge) entityByInterface.get(intf);
68    }
69
70    public EntityBridge getEntityByEJBName(String JavaDoc ejbName) {
71       return (EntityBridge) entityByEJBName.get(ejbName);
72    }
73
74    public int getEntityCount() {
75       return entityByEJBName.size();
76    }
77
78    public Set JavaDoc getEJBNames() {
79       return Collections.unmodifiableSet(entityByEJBName.keySet());
80    }
81 }
82
Popular Tags