/**
* <copyright>
* </copyright>
*
* $Id$
*/
package com.hundsun.ares.studio.jres.model.database.oracle.provider;
import com.hundsun.ares.studio.jres.model.database.oracle.util.OracleAdapterFactory;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemFontProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
/**
* This is the factory that is used to provide the interfaces needed to support Viewers.
* The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
* The adapters also support Eclipse property sheets.
* Note that most of the adapters are shared among multiple instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class OracleItemProviderAdapterFactory extends OracleAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
/**
* This keeps track of the root adapter factory that delegates to this adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComposedAdapterFactory parentAdapterFactory;
/**
* This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IChangeNotifier changeNotifier = new ChangeNotifier();
/**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<Object> supportedTypes = new ArrayList<Object>();
/**
* This constructs an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public OracleItemProviderAdapterFactory() {
supportedTypes.add(IEditingDomainItemProvider.class);
supportedTypes.add(IStructuredItemContentProvider.class);
supportedTypes.add(ITreeItemContentProvider.class);
supportedTypes.add(IItemLabelProvider.class);
supportedTypes.add(IItemPropertySource.class);
supportedTypes.add(IItemFontProvider.class);
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleTableProperty} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleTablePropertyItemProvider oracleTablePropertyItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleTableProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleTablePropertyAdapter() {
if (oracleTablePropertyItemProvider == null) {
oracleTablePropertyItemProvider = new OracleTablePropertyItemProvider(this);
}
return oracleTablePropertyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleIndexProperty} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleIndexPropertyItemProvider oracleIndexPropertyItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleIndexProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleIndexPropertyAdapter() {
if (oracleIndexPropertyItemProvider == null) {
oracleIndexPropertyItemProvider = new OracleIndexPropertyItemProvider(this);
}
return oracleIndexPropertyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleViewProperty} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleViewPropertyItemProvider oracleViewPropertyItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleViewProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleViewPropertyAdapter() {
if (oracleViewPropertyItemProvider == null) {
oracleViewPropertyItemProvider = new OracleViewPropertyItemProvider(this);
}
return oracleViewPropertyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleModuleProperty} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleModulePropertyItemProvider oracleModulePropertyItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleModuleProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleModulePropertyAdapter() {
if (oracleModulePropertyItemProvider == null) {
oracleModulePropertyItemProvider = new OracleModulePropertyItemProvider(this);
}
return oracleModulePropertyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleSpaceResourceData} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleSpaceResourceDataItemProvider oracleSpaceResourceDataItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleSpaceResourceData}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleSpaceResourceDataAdapter() {
if (oracleSpaceResourceDataItemProvider == null) {
oracleSpaceResourceDataItemProvider = new OracleSpaceResourceDataItemProvider(this);
}
return oracleSpaceResourceDataItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.TableSpaceRelation} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TableSpaceRelationItemProvider tableSpaceRelationItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.TableSpaceRelation}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTableSpaceRelationAdapter() {
if (tableSpaceRelationItemProvider == null) {
tableSpaceRelationItemProvider = new TableSpaceRelationItemProvider(this);
}
return tableSpaceRelationItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.TableSpace} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TableSpaceItemProvider tableSpaceItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.TableSpace}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTableSpaceAdapter() {
if (tableSpaceItemProvider == null) {
tableSpaceItemProvider = new TableSpaceItemProvider(this);
}
return tableSpaceItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleUserResourceData} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleUserResourceDataItemProvider oracleUserResourceDataItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleUserResourceData}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleUserResourceDataAdapter() {
if (oracleUserResourceDataItemProvider == null) {
oracleUserResourceDataItemProvider = new OracleUserResourceDataItemProvider(this);
}
return oracleUserResourceDataItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleUser} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleUserItemProvider oracleUserItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleUser}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleUserAdapter() {
if (oracleUserItemProvider == null) {
oracleUserItemProvider = new OracleUserItemProvider(this);
}
return oracleUserItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OraclePrivilege} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OraclePrivilegeItemProvider oraclePrivilegeItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OraclePrivilege}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOraclePrivilegeAdapter() {
if (oraclePrivilegeItemProvider == null) {
oraclePrivilegeItemProvider = new OraclePrivilegeItemProvider(this);
}
return oraclePrivilegeItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.TriggerResourceData} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TriggerResourceDataItemProvider triggerResourceDataItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.TriggerResourceData}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTriggerResourceDataAdapter() {
if (triggerResourceDataItemProvider == null) {
triggerResourceDataItemProvider = new TriggerResourceDataItemProvider(this);
}
return triggerResourceDataItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.SequenceResourceData} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SequenceResourceDataItemProvider sequenceResourceDataItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.SequenceResourceData}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSequenceResourceDataAdapter() {
if (sequenceResourceDataItemProvider == null) {
sequenceResourceDataItemProvider = new SequenceResourceDataItemProvider(this);
}
return sequenceResourceDataItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.DatabaseModuleExtensibleProperty} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected DatabaseModuleExtensiblePropertyItemProvider databaseModuleExtensiblePropertyItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.DatabaseModuleExtensibleProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createDatabaseModuleExtensiblePropertyAdapter() {
if (databaseModuleExtensiblePropertyItemProvider == null) {
databaseModuleExtensiblePropertyItemProvider = new DatabaseModuleExtensiblePropertyItemProvider(this);
}
return databaseModuleExtensiblePropertyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleSequenceProperty} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OracleSequencePropertyItemProvider oracleSequencePropertyItemProvider;
/**
* This creates an adapter for a {@link com.hundsun.ares.studio.jres.model.database.oracle.OracleSequenceProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOracleSequencePropertyAdapter() {
if (oracleSequencePropertyItemProvider == null) {
oracleSequencePropertyItemProvider = new OracleSequencePropertyItemProvider(this);
}
return oracleSequencePropertyItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComposeableAdapterFactory getRootAdapterFactory() {
return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
}
/**
* This sets the composed adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
this.parentAdapterFactory = parentAdapterFactory;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean isFactoryForType(Object type) {
return supportedTypes.contains(type) || super.isFactoryForType(type);
}
/**
* This implementation substitutes the factory itself as the key for the adapter.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter adapt(Notifier notifier, Object type) {
return super.adapt(notifier, this);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object adapt(Object object, Object type) {
if (isFactoryForType(type)) {
Object adapter = super.adapt(object, type);
if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
return adapter;
}
}
return null;
}
/**
* This adds a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void addListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.addListener(notifyChangedListener);
}
/**
* This removes a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void removeListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.removeListener(notifyChangedListener);
}
/**
* This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void fireNotifyChanged(Notification notification) {
changeNotifier.fireNotifyChanged(notification);
if (parentAdapterFactory != null) {
parentAdapterFactory.fireNotifyChanged(notification);
}
}
/**
* This disposes all of the item providers created by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void dispose() {
if (oracleTablePropertyItemProvider != null) oracleTablePropertyItemProvider.dispose();
if (oracleIndexPropertyItemProvider != null) oracleIndexPropertyItemProvider.dispose();
if (oracleViewPropertyItemProvider != null) oracleViewPropertyItemProvider.dispose();
if (oracleModulePropertyItemProvider != null) oracleModulePropertyItemProvider.dispose();
if (oracleSpaceResourceDataItemProvider != null) oracleSpaceResourceDataItemProvider.dispose();
if (tableSpaceRelationItemProvider != null) tableSpaceRelationItemProvider.dispose();
if (tableSpaceItemProvider != null) tableSpaceItemProvider.dispose();
if (oracleUserResourceDataItemProvider != null) oracleUserResourceDataItemProvider.dispose();
if (oracleUserItemProvider != null) oracleUserItemProvider.dispose();
if (oraclePrivilegeItemProvider != null) oraclePrivilegeItemProvider.dispose();
if (triggerResourceDataItemProvider != null) triggerResourceDataItemProvider.dispose();
if (sequenceResourceDataItemProvider != null) sequenceResourceDataItemProvider.dispose();
if (databaseModuleExtensiblePropertyItemProvider != null) databaseModuleExtensiblePropertyItemProvider.dispose();
if (oracleSequencePropertyItemProvider != null) oracleSequencePropertyItemProvider.dispose();
}
}