KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > dods > editor > Doml > provider > DatabaseTypeItemProvider


1 /**
2  * <copyright>
3  * </copyright>
4  *
5  * $Id$
6  */

7 package org.enhydra.dods.editor.Doml.provider;
8
9
10 import java.util.Collection JavaDoc;
11 import java.util.List JavaDoc;
12
13 import org.eclipse.emf.common.notify.AdapterFactory;
14 import org.eclipse.emf.common.notify.Notification;
15
16 import org.eclipse.emf.common.util.ResourceLocator;
17
18 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
19 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
20 import org.eclipse.emf.edit.provider.IItemLabelProvider;
21 import org.eclipse.emf.edit.provider.IItemPropertySource;
22 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
23 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
24 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
25 import org.eclipse.emf.edit.provider.ItemProviderAdapter;
26 import org.eclipse.emf.edit.provider.ViewerNotification;
27
28 import org.enhydra.dods.editor.Doml.DatabaseType;
29 import org.enhydra.dods.editor.Doml.DbVendor;
30 import org.enhydra.dods.editor.Doml.DomlFactory;
31 import org.enhydra.dods.editor.Doml.DomlPackage;
32
33 /**
34  * This is the item provider adpater for a {@link org.enhydra.dods.editor.Doml.DatabaseType} object.
35  * <!-- begin-user-doc -->
36  * <!-- end-user-doc -->
37  * @generated
38  */

39 public class DatabaseTypeItemProvider
40     extends ItemProviderAdapter
41     implements
42         IEditingDomainItemProvider,
43         IStructuredItemContentProvider,
44         ITreeItemContentProvider,
45         IItemLabelProvider,
46         IItemPropertySource {
47     /**
48      * This constructs an instance from a factory and a notifier.
49      * <!-- begin-user-doc -->
50      * <!-- end-user-doc -->
51      * @generated
52      */

53     public DatabaseTypeItemProvider(AdapterFactory adapterFactory) {
54         super(adapterFactory);
55     }
56
57     /**
58      * This returns the property descriptors for the adapted class.
59      * <!-- begin-user-doc -->
60      * <!-- end-user-doc -->
61      * @generated
62      */

63     public List JavaDoc getPropertyDescriptors(Object JavaDoc object) {
64         if (itemPropertyDescriptors == null) {
65             super.getPropertyDescriptors(object);
66
67             addDatabasePropertyDescriptor(object);
68             addGenerateInsecurePropertyDescriptor(object);
69             addGenerateSecurePropertyDescriptor(object);
70             addMassDeletesPropertyDescriptor(object);
71             addMassUpdatesPropertyDescriptor(object);
72             addTemplatesetPropertyDescriptor(object);
73         }
74         return itemPropertyDescriptors;
75     }
76
77     /**
78      * This adds a property descriptor for the Database feature.
79      * <!-- begin-user-doc -->
80      * <!-- end-user-doc -->
81      * @generated
82      */

83     protected void addDatabasePropertyDescriptor(Object JavaDoc object) {
84         itemPropertyDescriptors.add
85             (new ItemPropertyDescriptor
86                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
87                  getResourceLocator(),
88                  getString("_UI_DatabaseType_database_feature"),
89                  getString("_UI_PropertyDescriptor_description", "_UI_DatabaseType_database_feature", "_UI_DatabaseType_type"),
90                  DomlPackage.eINSTANCE.getDatabaseType_Database(),
91                  true,
92                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
93     }
94
95     /**
96      * This adds a property descriptor for the Generate Insecure feature.
97      * <!-- begin-user-doc -->
98      * <!-- end-user-doc -->
99      * @generated
100      */

101     protected void addGenerateInsecurePropertyDescriptor(Object JavaDoc object) {
102         itemPropertyDescriptors.add
103             (new ItemPropertyDescriptor
104                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
105                  getResourceLocator(),
106                  getString("_UI_DatabaseType_generateInsecure_feature"),
107                  getString("_UI_PropertyDescriptor_description", "_UI_DatabaseType_generateInsecure_feature", "_UI_DatabaseType_type"),
108                  DomlPackage.eINSTANCE.getDatabaseType_GenerateInsecure(),
109                  true,
110                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
111     }
112
113     /**
114      * This adds a property descriptor for the Generate Secure feature.
115      * <!-- begin-user-doc -->
116      * <!-- end-user-doc -->
117      * @generated
118      */

119     protected void addGenerateSecurePropertyDescriptor(Object JavaDoc object) {
120         itemPropertyDescriptors.add
121             (new ItemPropertyDescriptor
122                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
123                  getResourceLocator(),
124                  getString("_UI_DatabaseType_generateSecure_feature"),
125                  getString("_UI_PropertyDescriptor_description", "_UI_DatabaseType_generateSecure_feature", "_UI_DatabaseType_type"),
126                  DomlPackage.eINSTANCE.getDatabaseType_GenerateSecure(),
127                  true,
128                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
129     }
130
131     /**
132      * This adds a property descriptor for the Mass Deletes feature.
133      * <!-- begin-user-doc -->
134      * <!-- end-user-doc -->
135      * @generated
136      */

137     protected void addMassDeletesPropertyDescriptor(Object JavaDoc object) {
138         itemPropertyDescriptors.add
139             (new ItemPropertyDescriptor
140                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
141                  getResourceLocator(),
142                  getString("_UI_DatabaseType_massDeletes_feature"),
143                  getString("_UI_PropertyDescriptor_description", "_UI_DatabaseType_massDeletes_feature", "_UI_DatabaseType_type"),
144                  DomlPackage.eINSTANCE.getDatabaseType_MassDeletes(),
145                  true,
146                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
147     }
148
149     /**
150      * This adds a property descriptor for the Mass Updates feature.
151      * <!-- begin-user-doc -->
152      * <!-- end-user-doc -->
153      * @generated
154      */

155     protected void addMassUpdatesPropertyDescriptor(Object JavaDoc object) {
156         itemPropertyDescriptors.add
157             (new ItemPropertyDescriptor
158                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
159                  getResourceLocator(),
160                  getString("_UI_DatabaseType_massUpdates_feature"),
161                  getString("_UI_PropertyDescriptor_description", "_UI_DatabaseType_massUpdates_feature", "_UI_DatabaseType_type"),
162                  DomlPackage.eINSTANCE.getDatabaseType_MassUpdates(),
163                  true,
164                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
165     }
166
167     /**
168      * This adds a property descriptor for the Templateset feature.
169      * <!-- begin-user-doc -->
170      * <!-- end-user-doc -->
171      * @generated
172      */

173     protected void addTemplatesetPropertyDescriptor(Object JavaDoc object) {
174         itemPropertyDescriptors.add
175             (new ItemPropertyDescriptor
176                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
177                  getResourceLocator(),
178                  getString("_UI_DatabaseType_templateset_feature"),
179                  getString("_UI_PropertyDescriptor_description", "_UI_DatabaseType_templateset_feature", "_UI_DatabaseType_type"),
180                  DomlPackage.eINSTANCE.getDatabaseType_Templateset(),
181                  true,
182                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE));
183     }
184
185     /**
186      * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
187      * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
188      * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
189      * <!-- begin-user-doc -->
190      * <!-- end-user-doc -->
191      * @generated
192      */

193     public Collection JavaDoc getChildrenFeatures(Object JavaDoc object) {
194         if (childrenFeatures == null) {
195             super.getChildrenFeatures(object);
196             childrenFeatures.add(DomlPackage.eINSTANCE.getDatabaseType_Package());
197         }
198         return childrenFeatures;
199     }
200
201     /**
202      * This returns DatabaseType.gif.
203      * <!-- begin-user-doc -->
204      * <!-- end-user-doc -->
205      * @generated
206      */

207     public Object JavaDoc getImage(Object JavaDoc object) {
208         return getResourceLocator().getImage("full/obj16/DatabaseType");
209     }
210
211     /**
212      * This returns the label text for the adapted class.
213      * <!-- begin-user-doc -->
214      * <!-- end-user-doc -->
215      * @generated
216      */

217     public String JavaDoc getText(Object JavaDoc object) {
218         DbVendor labelValue = ((DatabaseType)object).getDatabase();
219         String JavaDoc label = labelValue == null ? null : labelValue.toString();
220         return label == null || label.length() == 0 ?
221             getString("_UI_DatabaseType_type") :
222             getString("_UI_DatabaseType_type") + " " + label;
223     }
224
225     /**
226      * This handles model notifications by calling {@link #updateChildren} to update any cached
227      * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
228      * <!-- begin-user-doc -->
229      * <!-- end-user-doc -->
230      * @generated
231      */

232     public void notifyChanged(Notification notification) {
233         updateChildren(notification);
234
235         switch (notification.getFeatureID(DatabaseType.class)) {
236             case DomlPackage.DATABASE_TYPE__DATABASE:
237             case DomlPackage.DATABASE_TYPE__GENERATE_INSECURE:
238             case DomlPackage.DATABASE_TYPE__GENERATE_SECURE:
239             case DomlPackage.DATABASE_TYPE__MASS_DELETES:
240             case DomlPackage.DATABASE_TYPE__MASS_UPDATES:
241             case DomlPackage.DATABASE_TYPE__TEMPLATESET:
242                 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
243                 return;
244             case DomlPackage.DATABASE_TYPE__PACKAGE:
245                 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
246                 return;
247         }
248         super.notifyChanged(notification);
249     }
250
251     /**
252      * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
253      * describing all of the children that can be created under this object.
254      * <!-- begin-user-doc -->
255      * <!-- end-user-doc -->
256      * @generated
257      */

258     protected void collectNewChildDescriptors(Collection JavaDoc newChildDescriptors, Object JavaDoc object) {
259         super.collectNewChildDescriptors(newChildDescriptors, object);
260
261         newChildDescriptors.add
262             (createChildParameter
263                 (DomlPackage.eINSTANCE.getDatabaseType_Package(),
264                  DomlFactory.eINSTANCE.createPackageType()));
265     }
266
267     /**
268      * Return the resource locator for this item provider's resources.
269      * <!-- begin-user-doc -->
270      * <!-- end-user-doc -->
271      * @generated
272      */

273     public ResourceLocator getResourceLocator() {
274         return DomlEditPlugin.INSTANCE;
275     }
276
277 }
278
Popular Tags