/**
* <copyright>
* </copyright>
*
* $Id$
*/
package net.sf.orcc.cache.util;
import java.util.Map;
import net.sf.orcc.cache.Cache;
import net.sf.orcc.cache.CacheManager;
import net.sf.orcc.cache.CachePackage;
import net.sf.orcc.ir.Expression;
import net.sf.orcc.ir.Type;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
* an adapter <code>createXXX</code> method for each class of the model. <!--
* end-user-doc -->
* @see net.sf.orcc.cache.CachePackage
* @generated
*/
public class CacheAdapterFactory extends AdapterFactoryImpl {
/**
* The cached model package.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected static CachePackage modelPackage;
/**
* The switch that delegates to the <code>createXXX</code> methods. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
protected CacheSwitch<Adapter> modelSwitch = new CacheSwitch<Adapter>() {
@Override
public Adapter caseCache(Cache object) {
return createCacheAdapter();
}
@Override
public Adapter caseCacheManager(CacheManager object) {
return createCacheManagerAdapter();
}
@Override
public Adapter caseEObjectToExpressionMapEntry(Map.Entry<EObject, Expression> object) {
return createEObjectToExpressionMapEntryAdapter();
}
@Override
public Adapter caseEObjectToEObjectMapEntry(Map.Entry<EObject, EObject> object) {
return createEObjectToEObjectMapEntryAdapter();
}
@Override
public Adapter caseEObjectToTypeMapEntry(Map.Entry<EObject, Type> object) {
return createEObjectToTypeMapEntryAdapter();
}
@Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
};
/**
* Creates an instance of the adapter factory.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
* @generated
*/
public CacheAdapterFactory() {
if (modelPackage == null) {
modelPackage = CachePackage.eINSTANCE;
}
}
/**
* Creates an adapter for the <code>target</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param target the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@Override
public Adapter createAdapter(Notifier target) {
return modelSwitch.doSwitch((EObject)target);
}
/**
* Creates a new adapter for an object of class '{@link net.sf.orcc.cache.Cache <em>Cache</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore
* cases; it's useful to ignore a case when inheritance will catch all the
* cases anyway. <!-- end-user-doc -->
* @return the new adapter.
* @see net.sf.orcc.cache.Cache
* @generated
*/
public Adapter createCacheAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '
* {@link net.sf.orcc.cache.CacheManager <em>Manager</em>}'. <!--
* begin-user-doc --> This default implementation returns null so that we
* can easily ignore cases; it's useful to ignore a case when inheritance
* will catch all the cases anyway. <!-- end-user-doc -->
*
* @return the new adapter.
* @see net.sf.orcc.cache.CacheManager
* @generated
*/
public Adapter createCacheManagerAdapter() {
return null;
}
/**
* Creates a new adapter for the default case.
* <!-- begin-user-doc --> This
* default implementation returns null. <!-- end-user-doc -->
* @return the new adapter.
* @generated
*/
public Adapter createEObjectAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>EObject To Expression Map Entry</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see java.util.Map.Entry
* @generated
*/
public Adapter createEObjectToExpressionMapEntryAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>EObject To EObject Map Entry</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see java.util.Map.Entry
* @generated
*/
public Adapter createEObjectToEObjectMapEntryAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>EObject To Type Map Entry</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see java.util.Map.Entry
* @generated
*/
public Adapter createEObjectToTypeMapEntryAdapter() {
return null;
}
/**
* Returns whether this factory is applicable for the type of the object.
* <!-- begin-user-doc --> This implementation returns <code>true</code> if
* the object is either the model's package or is an instance object of the
* model. <!-- end-user-doc -->
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@Override
public boolean isFactoryForType(Object object) {
if (object == modelPackage) {
return true;
}
if (object instanceof EObject) {
return ((EObject)object).eClass().getEPackage() == modelPackage;
}
return false;
}
} // CacheAdapterFactory