KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > fractal > explorer > context > InterfaceWrapperFactory


1 /*====================================================================
2  
3  Objectweb Browser Framework
4  Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
5  Contact: openccm@objectweb.org
6  
7  This library is free software; you can redistribute it and/or
8  modify it under the terms of the GNU Lesser General Public
9  License as published by the Free Software Foundation; either
10  version 2.1 of the License, or any later version.
11  
12  This library 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 library; if not, write to the Free Software
19  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20  USA
21  
22  Initial developer(s): Romain Rouvoy.
23  Contributor(s): ______________________________________.
24  
25  ---------------------------------------------------------------------
26  $Id: InterfaceWrapperFactory.java,v 1.2 2004/05/28 14:51:48 moroy Exp $
27  ====================================================================*/

28
29 package org.objectweb.fractal.explorer.context;
30
31 import org.objectweb.fractal.api.Interface;
32 import org.objectweb.fractal.api.type.InterfaceType;
33
34 /**
35  * Interface wrapper factory.
36  * @author <a HREF="mailto:Romain.Rouvoy@lifl.fr">Romain Rouvoy</a>
37  * @version 0.1
38  */

39 public class InterfaceWrapperFactory
40 {
41     /** Factory singleton. */
42     protected static final InterfaceWrapperFactory singleton = new InterfaceWrapperFactory();
43     
44     /**
45      * Provides the instance of the default factory.
46      * @return the default factory.
47      */

48     public static InterfaceWrapperFactory singleton() {
49         return singleton ;
50     }
51     
52     /**
53      * Provides the appropriate wrapper for the requested interface.
54      * @param itf the interface to wrap.
55      * @return the associated interface wrapper.
56      */

57     public InterfaceWrapper getWrapper(Interface itf) {
58         InterfaceType type = (InterfaceType) itf.getFcItfType();
59         if (type.isFcClientItf())
60             if (type.isFcCollectionItf())
61                 return new ClientCollectionInterfaceWrapper(itf);
62             else
63                 return new ClientInterfaceWrapper(itf);
64         else
65             return new InterfaceWrapper(itf);
66     }
67 }
68
Popular Tags