PageRenderTime 70ms CodeModel.GetById 34ms RepoModel.GetById 1ms app.codeStats 0ms

/examples/org.eclipse.xtext.xtext.ui.examples/contents/org.eclipse.xtext.example.gmf.edit/src/org/eclipse/xtext/example/gmf/entities/provider/EntitiesItemProviderAdapterFactory.java

https://github.com/svenefftinge/Xtext-2.0-released-source-code
Java | 400 lines | 170 code | 44 blank | 186 comment | 39 complexity | 40e804abda03ccf8d7e4b97f04d922b9 MD5 | raw file
  1. /**
  2. * <copyright>
  3. * </copyright>
  4. *
  5. */
  6. package org.eclipse.xtext.example.gmf.entities.provider;
  7. import java.util.ArrayList;
  8. import java.util.Collection;
  9. import org.eclipse.emf.common.notify.Adapter;
  10. import org.eclipse.emf.common.notify.Notification;
  11. import org.eclipse.emf.common.notify.Notifier;
  12. import org.eclipse.emf.edit.provider.ChangeNotifier;
  13. import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
  14. import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
  15. import org.eclipse.emf.edit.provider.IChangeNotifier;
  16. import org.eclipse.emf.edit.provider.IDisposable;
  17. import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
  18. import org.eclipse.emf.edit.provider.IItemLabelProvider;
  19. import org.eclipse.emf.edit.provider.IItemPropertySource;
  20. import org.eclipse.emf.edit.provider.INotifyChangedListener;
  21. import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
  22. import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
  23. import org.eclipse.xtext.example.gmf.entities.util.EntitiesAdapterFactory;
  24. /**
  25. * This is the factory that is used to provide the interfaces needed to support Viewers.
  26. * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
  27. * The adapters also support Eclipse property sheets.
  28. * Note that most of the adapters are shared among multiple instances.
  29. * <!-- begin-user-doc -->
  30. * <!-- end-user-doc -->
  31. * @generated
  32. */
  33. public class EntitiesItemProviderAdapterFactory extends EntitiesAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable
  34. {
  35. /**
  36. * This keeps track of the root adapter factory that delegates to this adapter factory.
  37. * <!-- begin-user-doc -->
  38. * <!-- end-user-doc -->
  39. * @generated
  40. */
  41. protected ComposedAdapterFactory parentAdapterFactory;
  42. /**
  43. * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
  44. * <!-- begin-user-doc -->
  45. * <!-- end-user-doc -->
  46. * @generated
  47. */
  48. protected IChangeNotifier changeNotifier = new ChangeNotifier();
  49. /**
  50. * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
  51. * <!-- begin-user-doc -->
  52. * <!-- end-user-doc -->
  53. * @generated
  54. */
  55. protected Collection<Object> supportedTypes = new ArrayList<Object>();
  56. /**
  57. * This constructs an instance.
  58. * <!-- begin-user-doc -->
  59. * <!-- end-user-doc -->
  60. * @generated
  61. */
  62. public EntitiesItemProviderAdapterFactory()
  63. {
  64. supportedTypes.add(IEditingDomainItemProvider.class);
  65. supportedTypes.add(IStructuredItemContentProvider.class);
  66. supportedTypes.add(ITreeItemContentProvider.class);
  67. supportedTypes.add(IItemLabelProvider.class);
  68. supportedTypes.add(IItemPropertySource.class);
  69. }
  70. /**
  71. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.Model} instances.
  72. * <!-- begin-user-doc -->
  73. * <!-- end-user-doc -->
  74. * @generated
  75. */
  76. protected ModelItemProvider modelItemProvider;
  77. /**
  78. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.Model}.
  79. * <!-- begin-user-doc -->
  80. * <!-- end-user-doc -->
  81. * @generated
  82. */
  83. @Override
  84. public Adapter createModelAdapter()
  85. {
  86. if (modelItemProvider == null)
  87. {
  88. modelItemProvider = new ModelItemProvider(this);
  89. }
  90. return modelItemProvider;
  91. }
  92. /**
  93. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.Import} instances.
  94. * <!-- begin-user-doc -->
  95. * <!-- end-user-doc -->
  96. * @generated
  97. */
  98. protected ImportItemProvider importItemProvider;
  99. /**
  100. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.Import}.
  101. * <!-- begin-user-doc -->
  102. * <!-- end-user-doc -->
  103. * @generated
  104. */
  105. @Override
  106. public Adapter createImportAdapter()
  107. {
  108. if (importItemProvider == null)
  109. {
  110. importItemProvider = new ImportItemProvider(this);
  111. }
  112. return importItemProvider;
  113. }
  114. /**
  115. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.Type} instances.
  116. * <!-- begin-user-doc -->
  117. * <!-- end-user-doc -->
  118. * @generated
  119. */
  120. protected TypeItemProvider typeItemProvider;
  121. /**
  122. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.Type}.
  123. * <!-- begin-user-doc -->
  124. * <!-- end-user-doc -->
  125. * @generated
  126. */
  127. @Override
  128. public Adapter createTypeAdapter()
  129. {
  130. if (typeItemProvider == null)
  131. {
  132. typeItemProvider = new TypeItemProvider(this);
  133. }
  134. return typeItemProvider;
  135. }
  136. /**
  137. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.SimpleType} instances.
  138. * <!-- begin-user-doc -->
  139. * <!-- end-user-doc -->
  140. * @generated
  141. */
  142. protected SimpleTypeItemProvider simpleTypeItemProvider;
  143. /**
  144. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.SimpleType}.
  145. * <!-- begin-user-doc -->
  146. * <!-- end-user-doc -->
  147. * @generated
  148. */
  149. @Override
  150. public Adapter createSimpleTypeAdapter()
  151. {
  152. if (simpleTypeItemProvider == null)
  153. {
  154. simpleTypeItemProvider = new SimpleTypeItemProvider(this);
  155. }
  156. return simpleTypeItemProvider;
  157. }
  158. /**
  159. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.Entity} instances.
  160. * <!-- begin-user-doc -->
  161. * <!-- end-user-doc -->
  162. * @generated
  163. */
  164. protected EntityItemProvider entityItemProvider;
  165. /**
  166. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.Entity}.
  167. * <!-- begin-user-doc -->
  168. * <!-- end-user-doc -->
  169. * @generated
  170. */
  171. @Override
  172. public Adapter createEntityAdapter()
  173. {
  174. if (entityItemProvider == null)
  175. {
  176. entityItemProvider = new EntityItemProvider(this);
  177. }
  178. return entityItemProvider;
  179. }
  180. /**
  181. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.Property} instances.
  182. * <!-- begin-user-doc -->
  183. * <!-- end-user-doc -->
  184. * @generated
  185. */
  186. protected PropertyItemProvider propertyItemProvider;
  187. /**
  188. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.Property}.
  189. * <!-- begin-user-doc -->
  190. * <!-- end-user-doc -->
  191. * @generated
  192. */
  193. @Override
  194. public Adapter createPropertyAdapter()
  195. {
  196. if (propertyItemProvider == null)
  197. {
  198. propertyItemProvider = new PropertyItemProvider(this);
  199. }
  200. return propertyItemProvider;
  201. }
  202. /**
  203. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.SimpleProperty} instances.
  204. * <!-- begin-user-doc -->
  205. * <!-- end-user-doc -->
  206. * @generated
  207. */
  208. protected SimplePropertyItemProvider simplePropertyItemProvider;
  209. /**
  210. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.SimpleProperty}.
  211. * <!-- begin-user-doc -->
  212. * <!-- end-user-doc -->
  213. * @generated
  214. */
  215. @Override
  216. public Adapter createSimplePropertyAdapter()
  217. {
  218. if (simplePropertyItemProvider == null)
  219. {
  220. simplePropertyItemProvider = new SimplePropertyItemProvider(this);
  221. }
  222. return simplePropertyItemProvider;
  223. }
  224. /**
  225. * This keeps track of the one adapter used for all {@link org.eclipse.xtext.example.gmf.entities.Reference} instances.
  226. * <!-- begin-user-doc -->
  227. * <!-- end-user-doc -->
  228. * @generated
  229. */
  230. protected ReferenceItemProvider referenceItemProvider;
  231. /**
  232. * This creates an adapter for a {@link org.eclipse.xtext.example.gmf.entities.Reference}.
  233. * <!-- begin-user-doc -->
  234. * <!-- end-user-doc -->
  235. * @generated
  236. */
  237. @Override
  238. public Adapter createReferenceAdapter()
  239. {
  240. if (referenceItemProvider == null)
  241. {
  242. referenceItemProvider = new ReferenceItemProvider(this);
  243. }
  244. return referenceItemProvider;
  245. }
  246. /**
  247. * This returns the root adapter factory that contains this factory.
  248. * <!-- begin-user-doc -->
  249. * <!-- end-user-doc -->
  250. * @generated
  251. */
  252. public ComposeableAdapterFactory getRootAdapterFactory()
  253. {
  254. return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
  255. }
  256. /**
  257. * This sets the composed adapter factory that contains this factory.
  258. * <!-- begin-user-doc -->
  259. * <!-- end-user-doc -->
  260. * @generated
  261. */
  262. public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
  263. {
  264. this.parentAdapterFactory = parentAdapterFactory;
  265. }
  266. /**
  267. * <!-- begin-user-doc -->
  268. * <!-- end-user-doc -->
  269. * @generated
  270. */
  271. @Override
  272. public boolean isFactoryForType(Object type)
  273. {
  274. return supportedTypes.contains(type) || super.isFactoryForType(type);
  275. }
  276. /**
  277. * This implementation substitutes the factory itself as the key for the adapter.
  278. * <!-- begin-user-doc -->
  279. * <!-- end-user-doc -->
  280. * @generated
  281. */
  282. @Override
  283. public Adapter adapt(Notifier notifier, Object type)
  284. {
  285. return super.adapt(notifier, this);
  286. }
  287. /**
  288. * <!-- begin-user-doc -->
  289. * <!-- end-user-doc -->
  290. * @generated
  291. */
  292. @Override
  293. public Object adapt(Object object, Object type)
  294. {
  295. if (isFactoryForType(type))
  296. {
  297. Object adapter = super.adapt(object, type);
  298. if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter)))
  299. {
  300. return adapter;
  301. }
  302. }
  303. return null;
  304. }
  305. /**
  306. * This adds a listener.
  307. * <!-- begin-user-doc -->
  308. * <!-- end-user-doc -->
  309. * @generated
  310. */
  311. public void addListener(INotifyChangedListener notifyChangedListener)
  312. {
  313. changeNotifier.addListener(notifyChangedListener);
  314. }
  315. /**
  316. * This removes a listener.
  317. * <!-- begin-user-doc -->
  318. * <!-- end-user-doc -->
  319. * @generated
  320. */
  321. public void removeListener(INotifyChangedListener notifyChangedListener)
  322. {
  323. changeNotifier.removeListener(notifyChangedListener);
  324. }
  325. /**
  326. * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
  327. * <!-- begin-user-doc -->
  328. * <!-- end-user-doc -->
  329. * @generated
  330. */
  331. public void fireNotifyChanged(Notification notification)
  332. {
  333. changeNotifier.fireNotifyChanged(notification);
  334. if (parentAdapterFactory != null)
  335. {
  336. parentAdapterFactory.fireNotifyChanged(notification);
  337. }
  338. }
  339. /**
  340. * This disposes all of the item providers created by this factory.
  341. * <!-- begin-user-doc -->
  342. * <!-- end-user-doc -->
  343. * @generated
  344. */
  345. public void dispose()
  346. {
  347. if (modelItemProvider != null) modelItemProvider.dispose();
  348. if (importItemProvider != null) importItemProvider.dispose();
  349. if (typeItemProvider != null) typeItemProvider.dispose();
  350. if (simpleTypeItemProvider != null) simpleTypeItemProvider.dispose();
  351. if (entityItemProvider != null) entityItemProvider.dispose();
  352. if (propertyItemProvider != null) propertyItemProvider.dispose();
  353. if (simplePropertyItemProvider != null) simplePropertyItemProvider.dispose();
  354. if (referenceItemProvider != null) referenceItemProvider.dispose();
  355. }
  356. }