/eclipse/plugins/org.switchyard.tools.models.sca.core.edit/src/org/eclipse/soa/sca/core/model/addressing/provider/AddressingItemProviderAdapterFactory.java

https://github.com/cunningt/tools · Java · 440 lines · 166 code · 54 blank · 220 comment · 43 complexity · a4904fb82cd1964480e3057aef8690d4 MD5 · raw file

  1. /**
  2. * <copyright>
  3. * </copyright>
  4. *
  5. * $Id$
  6. */
  7. package org.eclipse.soa.sca.core.model.addressing.provider;
  8. import java.util.ArrayList;
  9. import java.util.Collection;
  10. import java.util.List;
  11. import org.eclipse.emf.common.notify.Adapter;
  12. import org.eclipse.emf.common.notify.Notification;
  13. import org.eclipse.emf.common.notify.Notifier;
  14. import org.eclipse.emf.common.util.ResourceLocator;
  15. import org.eclipse.emf.edit.domain.EditingDomain;
  16. import org.eclipse.emf.edit.provider.ChangeNotifier;
  17. import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
  18. import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
  19. import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
  20. import org.eclipse.emf.edit.provider.IChangeNotifier;
  21. import org.eclipse.emf.edit.provider.IChildCreationExtender;
  22. import org.eclipse.emf.edit.provider.IDisposable;
  23. import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
  24. import org.eclipse.emf.edit.provider.IItemLabelProvider;
  25. import org.eclipse.emf.edit.provider.IItemPropertySource;
  26. import org.eclipse.emf.edit.provider.INotifyChangedListener;
  27. import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
  28. import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
  29. import org.eclipse.soa.sca.core.model.CoreSCAEditPlugin;
  30. import org.eclipse.soa.sca.core.model.addressing.AddressingPackage;
  31. import org.eclipse.soa.sca.core.model.addressing.util.AddressingAdapterFactory;
  32. /**
  33. * This is the factory that is used to provide the interfaces needed to support Viewers.
  34. * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
  35. * The adapters also support Eclipse property sheets.
  36. * Note that most of the adapters are shared among multiple instances.
  37. * <!-- begin-user-doc -->
  38. * <!-- end-user-doc -->
  39. * @generated
  40. */
  41. public class AddressingItemProviderAdapterFactory extends AddressingAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender {
  42. /**
  43. * This keeps track of the root adapter factory that delegates to this adapter factory.
  44. * <!-- begin-user-doc -->
  45. * <!-- end-user-doc -->
  46. * @generated
  47. */
  48. protected ComposedAdapterFactory parentAdapterFactory;
  49. /**
  50. * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
  51. * <!-- begin-user-doc -->
  52. * <!-- end-user-doc -->
  53. * @generated
  54. */
  55. protected IChangeNotifier changeNotifier = new ChangeNotifier();
  56. /**
  57. * This helps manage the child creation extenders.
  58. * <!-- begin-user-doc -->
  59. * <!-- end-user-doc -->
  60. * @generated
  61. */
  62. protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(CoreSCAEditPlugin.INSTANCE, AddressingPackage.eNS_URI);
  63. /**
  64. * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
  65. * <!-- begin-user-doc -->
  66. * <!-- end-user-doc -->
  67. * @generated
  68. */
  69. protected Collection<Object> supportedTypes = new ArrayList<Object>();
  70. /**
  71. * This constructs an instance.
  72. * <!-- begin-user-doc -->
  73. * <!-- end-user-doc -->
  74. * @generated
  75. */
  76. public AddressingItemProviderAdapterFactory() {
  77. supportedTypes.add(IEditingDomainItemProvider.class);
  78. supportedTypes.add(IStructuredItemContentProvider.class);
  79. supportedTypes.add(ITreeItemContentProvider.class);
  80. supportedTypes.add(IItemLabelProvider.class);
  81. supportedTypes.add(IItemPropertySource.class);
  82. }
  83. /**
  84. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.AttributedQNameType} instances.
  85. * <!-- begin-user-doc -->
  86. * <!-- end-user-doc -->
  87. * @generated
  88. */
  89. protected AttributedQNameTypeItemProvider attributedQNameTypeItemProvider;
  90. /**
  91. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.AttributedQNameType}.
  92. * <!-- begin-user-doc -->
  93. * <!-- end-user-doc -->
  94. * @generated
  95. */
  96. @Override
  97. public Adapter createAttributedQNameTypeAdapter() {
  98. if (attributedQNameTypeItemProvider == null) {
  99. attributedQNameTypeItemProvider = new AttributedQNameTypeItemProvider(this);
  100. }
  101. return attributedQNameTypeItemProvider;
  102. }
  103. /**
  104. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.AttributedUnsignedLongType} instances.
  105. * <!-- begin-user-doc -->
  106. * <!-- end-user-doc -->
  107. * @generated
  108. */
  109. protected AttributedUnsignedLongTypeItemProvider attributedUnsignedLongTypeItemProvider;
  110. /**
  111. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.AttributedUnsignedLongType}.
  112. * <!-- begin-user-doc -->
  113. * <!-- end-user-doc -->
  114. * @generated
  115. */
  116. @Override
  117. public Adapter createAttributedUnsignedLongTypeAdapter() {
  118. if (attributedUnsignedLongTypeItemProvider == null) {
  119. attributedUnsignedLongTypeItemProvider = new AttributedUnsignedLongTypeItemProvider(this);
  120. }
  121. return attributedUnsignedLongTypeItemProvider;
  122. }
  123. /**
  124. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.AttributedURIType} instances.
  125. * <!-- begin-user-doc -->
  126. * <!-- end-user-doc -->
  127. * @generated
  128. */
  129. protected AttributedURITypeItemProvider attributedURITypeItemProvider;
  130. /**
  131. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.AttributedURIType}.
  132. * <!-- begin-user-doc -->
  133. * <!-- end-user-doc -->
  134. * @generated
  135. */
  136. @Override
  137. public Adapter createAttributedURITypeAdapter() {
  138. if (attributedURITypeItemProvider == null) {
  139. attributedURITypeItemProvider = new AttributedURITypeItemProvider(this);
  140. }
  141. return attributedURITypeItemProvider;
  142. }
  143. /**
  144. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.DocumentRoot} instances.
  145. * <!-- begin-user-doc -->
  146. * <!-- end-user-doc -->
  147. * @generated
  148. */
  149. protected DocumentRootItemProvider documentRootItemProvider;
  150. /**
  151. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.DocumentRoot}.
  152. * <!-- begin-user-doc -->
  153. * <!-- end-user-doc -->
  154. * @generated
  155. */
  156. @Override
  157. public Adapter createDocumentRootAdapter() {
  158. if (documentRootItemProvider == null) {
  159. documentRootItemProvider = new DocumentRootItemProvider(this);
  160. }
  161. return documentRootItemProvider;
  162. }
  163. /**
  164. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.EndpointReferenceType} instances.
  165. * <!-- begin-user-doc -->
  166. * <!-- end-user-doc -->
  167. * @generated
  168. */
  169. protected EndpointReferenceTypeItemProvider endpointReferenceTypeItemProvider;
  170. /**
  171. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.EndpointReferenceType}.
  172. * <!-- begin-user-doc -->
  173. * <!-- end-user-doc -->
  174. * @generated
  175. */
  176. @Override
  177. public Adapter createEndpointReferenceTypeAdapter() {
  178. if (endpointReferenceTypeItemProvider == null) {
  179. endpointReferenceTypeItemProvider = new EndpointReferenceTypeItemProvider(this);
  180. }
  181. return endpointReferenceTypeItemProvider;
  182. }
  183. /**
  184. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.MetadataType} instances.
  185. * <!-- begin-user-doc -->
  186. * <!-- end-user-doc -->
  187. * @generated
  188. */
  189. protected MetadataTypeItemProvider metadataTypeItemProvider;
  190. /**
  191. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.MetadataType}.
  192. * <!-- begin-user-doc -->
  193. * <!-- end-user-doc -->
  194. * @generated
  195. */
  196. @Override
  197. public Adapter createMetadataTypeAdapter() {
  198. if (metadataTypeItemProvider == null) {
  199. metadataTypeItemProvider = new MetadataTypeItemProvider(this);
  200. }
  201. return metadataTypeItemProvider;
  202. }
  203. /**
  204. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.ProblemActionType} instances.
  205. * <!-- begin-user-doc -->
  206. * <!-- end-user-doc -->
  207. * @generated
  208. */
  209. protected ProblemActionTypeItemProvider problemActionTypeItemProvider;
  210. /**
  211. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.ProblemActionType}.
  212. * <!-- begin-user-doc -->
  213. * <!-- end-user-doc -->
  214. * @generated
  215. */
  216. @Override
  217. public Adapter createProblemActionTypeAdapter() {
  218. if (problemActionTypeItemProvider == null) {
  219. problemActionTypeItemProvider = new ProblemActionTypeItemProvider(this);
  220. }
  221. return problemActionTypeItemProvider;
  222. }
  223. /**
  224. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.ReferenceParametersType} instances.
  225. * <!-- begin-user-doc -->
  226. * <!-- end-user-doc -->
  227. * @generated
  228. */
  229. protected ReferenceParametersTypeItemProvider referenceParametersTypeItemProvider;
  230. /**
  231. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.ReferenceParametersType}.
  232. * <!-- begin-user-doc -->
  233. * <!-- end-user-doc -->
  234. * @generated
  235. */
  236. @Override
  237. public Adapter createReferenceParametersTypeAdapter() {
  238. if (referenceParametersTypeItemProvider == null) {
  239. referenceParametersTypeItemProvider = new ReferenceParametersTypeItemProvider(this);
  240. }
  241. return referenceParametersTypeItemProvider;
  242. }
  243. /**
  244. * This keeps track of the one adapter used for all {@link org.eclipse.soa.sca.core.model.addressing.RelatesToType} instances.
  245. * <!-- begin-user-doc -->
  246. * <!-- end-user-doc -->
  247. * @generated
  248. */
  249. protected RelatesToTypeItemProvider relatesToTypeItemProvider;
  250. /**
  251. * This creates an adapter for a {@link org.eclipse.soa.sca.core.model.addressing.RelatesToType}.
  252. * <!-- begin-user-doc -->
  253. * <!-- end-user-doc -->
  254. * @generated
  255. */
  256. @Override
  257. public Adapter createRelatesToTypeAdapter() {
  258. if (relatesToTypeItemProvider == null) {
  259. relatesToTypeItemProvider = new RelatesToTypeItemProvider(this);
  260. }
  261. return relatesToTypeItemProvider;
  262. }
  263. /**
  264. * This returns the root adapter factory that contains this factory.
  265. * <!-- begin-user-doc -->
  266. * <!-- end-user-doc -->
  267. * @generated
  268. */
  269. public ComposeableAdapterFactory getRootAdapterFactory() {
  270. return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
  271. }
  272. /**
  273. * This sets the composed adapter factory that contains this factory.
  274. * <!-- begin-user-doc -->
  275. * <!-- end-user-doc -->
  276. * @generated
  277. */
  278. public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
  279. this.parentAdapterFactory = parentAdapterFactory;
  280. }
  281. /**
  282. * <!-- begin-user-doc -->
  283. * <!-- end-user-doc -->
  284. * @generated
  285. */
  286. @Override
  287. public boolean isFactoryForType(Object type) {
  288. return supportedTypes.contains(type) || super.isFactoryForType(type);
  289. }
  290. /**
  291. * This implementation substitutes the factory itself as the key for the adapter.
  292. * <!-- begin-user-doc -->
  293. * <!-- end-user-doc -->
  294. * @generated
  295. */
  296. @Override
  297. public Adapter adapt(Notifier notifier, Object type) {
  298. return super.adapt(notifier, this);
  299. }
  300. /**
  301. * <!-- begin-user-doc -->
  302. * <!-- end-user-doc -->
  303. * @generated
  304. */
  305. @Override
  306. public Object adapt(Object object, Object type) {
  307. if (isFactoryForType(type)) {
  308. Object adapter = super.adapt(object, type);
  309. if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
  310. return adapter;
  311. }
  312. }
  313. return null;
  314. }
  315. /**
  316. * <!-- begin-user-doc -->
  317. * <!-- end-user-doc -->
  318. * @generated
  319. */
  320. public List<IChildCreationExtender> getChildCreationExtenders() {
  321. return childCreationExtenderManager.getChildCreationExtenders();
  322. }
  323. /**
  324. * <!-- begin-user-doc -->
  325. * <!-- end-user-doc -->
  326. * @generated
  327. */
  328. public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
  329. return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
  330. }
  331. /**
  332. * <!-- begin-user-doc -->
  333. * <!-- end-user-doc -->
  334. * @generated
  335. */
  336. public ResourceLocator getResourceLocator() {
  337. return childCreationExtenderManager;
  338. }
  339. /**
  340. * This adds a listener.
  341. * <!-- begin-user-doc -->
  342. * <!-- end-user-doc -->
  343. * @generated
  344. */
  345. public void addListener(INotifyChangedListener notifyChangedListener) {
  346. changeNotifier.addListener(notifyChangedListener);
  347. }
  348. /**
  349. * This removes a listener.
  350. * <!-- begin-user-doc -->
  351. * <!-- end-user-doc -->
  352. * @generated
  353. */
  354. public void removeListener(INotifyChangedListener notifyChangedListener) {
  355. changeNotifier.removeListener(notifyChangedListener);
  356. }
  357. /**
  358. * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
  359. * <!-- begin-user-doc -->
  360. * <!-- end-user-doc -->
  361. * @generated
  362. */
  363. public void fireNotifyChanged(Notification notification) {
  364. changeNotifier.fireNotifyChanged(notification);
  365. if (parentAdapterFactory != null) {
  366. parentAdapterFactory.fireNotifyChanged(notification);
  367. }
  368. }
  369. /**
  370. * This disposes all of the item providers created by this factory.
  371. * <!-- begin-user-doc -->
  372. * <!-- end-user-doc -->
  373. * @generated
  374. */
  375. public void dispose() {
  376. if (attributedQNameTypeItemProvider != null) attributedQNameTypeItemProvider.dispose();
  377. if (attributedUnsignedLongTypeItemProvider != null) attributedUnsignedLongTypeItemProvider.dispose();
  378. if (attributedURITypeItemProvider != null) attributedURITypeItemProvider.dispose();
  379. if (documentRootItemProvider != null) documentRootItemProvider.dispose();
  380. if (endpointReferenceTypeItemProvider != null) endpointReferenceTypeItemProvider.dispose();
  381. if (metadataTypeItemProvider != null) metadataTypeItemProvider.dispose();
  382. if (problemActionTypeItemProvider != null) problemActionTypeItemProvider.dispose();
  383. if (referenceParametersTypeItemProvider != null) referenceParametersTypeItemProvider.dispose();
  384. if (relatesToTypeItemProvider != null) relatesToTypeItemProvider.dispose();
  385. }
  386. }