KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > proactive > core > component > type > ProActiveTypeFactory


1 /*
2  * ################################################################
3  *
4  * ProActive: The Java(TM) library for Parallel, Distributed,
5  * Concurrent computing with Security and Mobility
6  *
7  * Copyright (C) 1997-2004 INRIA/University of Nice-Sophia Antipolis
8  * Contact: proactive-support@inria.fr
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 2.1 of the License, or any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23  * USA
24  *
25  * Initial developer(s): The ProActive Team
26  * http://www.inria.fr/oasis/ProActive/contacts.html
27  * Contributor(s):
28  *
29  * ################################################################
30  */

31 package org.objectweb.proactive.core.component.type;
32
33
34 import org.apache.log4j.Logger;
35
36 import org.objectweb.fractal.api.factory.InstantiationException;
37 import org.objectweb.fractal.api.type.ComponentType;
38 import org.objectweb.fractal.api.type.InterfaceType;
39 import org.objectweb.fractal.api.type.TypeFactory;
40
41
42 /**
43  * Implementation of TypeFactory (@see org.objectweb.fractal.api.type.TypeFactory)
44  *
45  * Implements the Singleton pattern.
46  *
47  * @author Matthieu Morel
48  *
49  */

50 public class ProActiveTypeFactory implements TypeFactory {
51     protected static Logger logger = Logger.getLogger(ProActiveTypeFactory.class.getName());
52
53     // SINGLETON implementation
54
static private ProActiveTypeFactory instance = null;
55
56     /**
57      * Constructor for ProActiveTypeFactory.
58      */

59     private ProActiveTypeFactory() {
60         super();
61     }
62
63     static public ProActiveTypeFactory instance() {
64         if (instance == null) {
65             instance = new ProActiveTypeFactory();
66         }
67         return instance;
68     }
69
70     /**
71      * @see org.objectweb.fractal.api.type.TypeFactory#createFcItfType(String, String, boolean, boolean, boolean)
72      */

73     public InterfaceType createFcItfType(String JavaDoc name, String JavaDoc signature, boolean isClient, boolean isOptional,
74                                          boolean isCollection) throws InstantiationException JavaDoc {
75         return new ProActiveInterfaceType(name, signature, isClient, isOptional, isCollection);
76     }
77
78     /**
79      * @see org.objectweb.fractal.api.type.TypeFactory#createFcType(InterfaceType[])
80      */

81     public ComponentType createFcType(InterfaceType[] interfaceTypes) throws InstantiationException JavaDoc {
82         return new ProActiveComponentType(interfaceTypes);
83     }
84 }
Popular Tags