KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nightlabs > editor2d > model > ModelCreationFactory


1 /* *****************************************************************************
2  * NightLabs Editor2D - Graphical editor framework *
3  * Copyright (C) 2004-2005 NightLabs - http://NightLabs.org *
4  * Project author: Daniel Mazurek <Daniel.Mazurek [at] nightlabs [dot] org> *
5  * *
6  * This library is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU Lesser General Public *
8  * License as published by the Free Software Foundation; either *
9  * version 2.1 of the License, or (at your option) 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 *
18  * Free Software Foundation, Inc., *
19  * 51 Franklin St, Fifth Floor, *
20  * Boston, MA 02110-1301 USA *
21  * *
22  * Or get it online : *
23  * http://www.gnu.org/copyleft/lesser.html *
24  * *
25  * *
26  ******************************************************************************/

27
28 package org.nightlabs.editor2d.model;
29
30 import org.eclipse.gef.requests.CreationFactory;
31
32 import org.nightlabs.editor2d.DrawComponentContainer;
33 import org.nightlabs.editor2d.Editor2DFactory;
34 import org.nightlabs.editor2d.EditorGuide;
35 import org.nightlabs.editor2d.EditorRuler;
36 import org.nightlabs.editor2d.EllipseDrawComponent;
37 import org.nightlabs.editor2d.ImageDrawComponent;
38 import org.nightlabs.editor2d.Layer;
39 import org.nightlabs.editor2d.LineDrawComponent;
40 import org.nightlabs.editor2d.MultiLayerDrawComponent;
41 import org.nightlabs.editor2d.RectangleDrawComponent;
42 import org.nightlabs.editor2d.TextDrawComponent;
43
44 public class ModelCreationFactory
45 implements CreationFactory
46 {
47     protected Class JavaDoc targetClass;
48     
49     public ModelCreationFactory( Class JavaDoc targetClass ) {
50         this.targetClass = targetClass;
51     }
52     
53     /*
54      * @see org.eclipse.gef.requests.CreationFactory#getNewObject()
55      */

56     public Object JavaDoc getNewObject()
57     {
58 // Map registry = EPackage.Registry.INSTANCE;
59
// String editor2DURI = Editor2DPackage.eNS_URI;
60
// Editor2DPackage editor2DPackage =
61
// (Editor2DPackage) registry.get(editor2DURI);
62
// Editor2DFactory factory = editor2DPackage.getEditor2DFactory();
63

64       Editor2DFactory factory = Editor2DFactory.eINSTANCE;
65           
66         Object JavaDoc result = null;
67             
68         if( targetClass.equals(RectangleDrawComponent.class)) {
69             result = factory.createRectangleDrawComponent();
70         }
71         else if( targetClass.equals(Layer.class)) {
72             result = factory.createLayer();
73         }
74         else if( targetClass.equals(EllipseDrawComponent.class)) {
75             result = factory.createEllipseDrawComponent();
76         }
77         else if( targetClass.equals(MultiLayerDrawComponent.class)) {
78           result = factory.createMultiLayerDrawComponent();
79         }
80         else if (targetClass.equals(DrawComponentContainer.class)) {
81           result = factory.createDrawComponentContainer();
82         }
83         else if( targetClass.equals(EditorGuide.class)) {
84           result = factory.createEditorGuide();
85         }
86         else if ( targetClass.equals(EditorRuler.class)) {
87           result = factory.createEditorRuler();
88         }
89         else if ( targetClass.equals(LineDrawComponent.class)) {
90           result = factory.createLineDrawComponent();
91         }
92     else if ( targetClass.equals(TextDrawComponent.class)) {
93       result = factory.createTextDrawComponent();
94     }
95     else if ( targetClass.equals(ImageDrawComponent.class)) {
96       result = factory.createImageDrawComponent();
97     }
98             
99         return result;
100     }
101
102     /*
103      * @see org.eclipse.gef.requests.CreationFactory#getObjectType()
104      */

105     public Object JavaDoc getObjectType()
106     {
107         return targetClass;
108     }
109 }
110
111
Popular Tags