01: /**
02: * JOnAS: Java(TM) Open Application Server
03: * Copyright (C) 2004 Bull S.A.
04: * Contact: jonas-team@objectweb.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: *
21: * --------------------------------------------------------------------------
22: * $Id: GeneratorFactory.java 5973 2004-12-16 09:47:04Z benoitf $
23: * --------------------------------------------------------------------------
24: */package org.objectweb.jonas_lib.genclientstub.generator;
25:
26: import org.objectweb.jonas_lib.genbase.generator.Config;
27:
28: /**
29: * A <code>GeneratorFactory</code> has to be extended by specific generation
30: * mecanism.
31: * @author Florent Benoit
32: */
33: public class GeneratorFactory implements
34: org.objectweb.jonas_lib.genbase.generator.GeneratorFactory {
35:
36: /** <code>GeneratorFactory</code> unique instance */
37: private static GeneratorFactory instance = null;
38:
39: /** Configuration to set on instanciated Generator */
40: private Config configuration;
41:
42: /**
43: * Utility class, no constructor
44: */
45: private GeneratorFactory() {
46:
47: }
48:
49: /**
50: * Returns the unique GeneratorFactory instance.
51: * @return the unique GeneratorFactory instance.
52: */
53: public static GeneratorFactory getInstance() {
54: if (instance == null) {
55: instance = newInstance();
56: }
57:
58: return instance;
59: }
60:
61: /**
62: * Create a new generatorFactory instance
63: * @return a new generatorFactory instance.
64:
65: */
66: private static GeneratorFactory newInstance() {
67: return new GeneratorFactory();
68: }
69:
70: /**
71: * Set the Configuration to use with newly created Generator.
72: * @param config the Configuration to use with newly created Generator.
73: */
74: public void setConfiguration(Config config) {
75: this .configuration = config;
76: }
77:
78: /**
79: * Get the Configuration to use with newly created Generator.
80: * @return the Configuration to use with newly created Generator
81: */
82: public Config getConfiguration() {
83: return configuration;
84: }
85: }
|