/** * <copyright> * </copyright> * * */ package org.reuseware.air.language.abstractsyntax.resource.as.mopp; public class AsReferenceResolverSwitch implements org.reuseware.air.language.abstractsyntax.resource.as.IAsReferenceResolverSwitch { protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.ImportEPackageReferenceResolver importEPackageReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.ImportEPackageReferenceResolver(); protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.ConcreteNodeDefinitionESuperClassReferenceResolver concreteNodeDefinitionESuperClassReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.ConcreteNodeDefinitionESuperClassReferenceResolver(); protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.InterfaceNodeDefinitionOptionsReferenceResolver interfaceNodeDefinitionOptionsReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.InterfaceNodeDefinitionOptionsReferenceResolver(); protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.AttributeTypeReferenceResolver attributeTypeReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.AttributeTypeReferenceResolver(); protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.ContainmentTypeReferenceResolver containmentTypeReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.ContainmentTypeReferenceResolver(); protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.InternalReferenceTypeReferenceResolver internalReferenceTypeReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.InternalReferenceTypeReferenceResolver(); protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.InternalReferenceOppositeReferenceResolver internalReferenceOppositeReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.InternalReferenceOppositeReferenceResolver(); protected org.reuseware.air.language.abstractsyntax.resource.as.analysis.ExternalReferenceTypeReferenceResolver externalReferenceTypeReferenceResolver = new org.reuseware.air.language.abstractsyntax.resource.as.analysis.ExternalReferenceTypeReferenceResolver(); public org.reuseware.air.language.abstractsyntax.resource.as.analysis.ImportEPackageReferenceResolver getImportEPackageReferenceResolver() { return importEPackageReferenceResolver; } public org.reuseware.air.language.abstractsyntax.resource.as.analysis.ConcreteNodeDefinitionESuperClassReferenceResolver getConcreteNodeDefinitionESuperClassReferenceResolver() { return concreteNodeDefinitionESuperClassReferenceResolver; } public org.reuseware.air.language.abstractsyntax.resource.as.analysis.InterfaceNodeDefinitionOptionsReferenceResolver getInterfaceNodeDefinitionOptionsReferenceResolver() { return interfaceNodeDefinitionOptionsReferenceResolver; } public org.reuseware.air.language.abstractsyntax.resource.as.analysis.AttributeTypeReferenceResolver getAttributeTypeReferenceResolver() { return attributeTypeReferenceResolver; } public org.reuseware.air.language.abstractsyntax.resource.as.analysis.ContainmentTypeReferenceResolver getContainmentTypeReferenceResolver() { return containmentTypeReferenceResolver; } public org.reuseware.air.language.abstractsyntax.resource.as.analysis.InternalReferenceTypeReferenceResolver getInternalReferenceTypeReferenceResolver() { return internalReferenceTypeReferenceResolver; } public org.reuseware.air.language.abstractsyntax.resource.as.analysis.InternalReferenceOppositeReferenceResolver getInternalReferenceOppositeReferenceResolver() { return internalReferenceOppositeReferenceResolver; } public org.reuseware.air.language.abstractsyntax.resource.as.analysis.ExternalReferenceTypeReferenceResolver getExternalReferenceTypeReferenceResolver() { return externalReferenceTypeReferenceResolver; } public void setOptions(java.util.Map<?, ?> options) { importEPackageReferenceResolver.setOptions(options); concreteNodeDefinitionESuperClassReferenceResolver.setOptions(options); interfaceNodeDefinitionOptionsReferenceResolver.setOptions(options); attributeTypeReferenceResolver.setOptions(options); containmentTypeReferenceResolver.setOptions(options); internalReferenceTypeReferenceResolver.setOptions(options); internalReferenceOppositeReferenceResolver.setOptions(options); externalReferenceTypeReferenceResolver.setOptions(options); } public void resolveFuzzy(java.lang.String identifier, org.eclipse.emf.ecore.EObject container, org.eclipse.emf.ecore.EReference reference, int position, org.reuseware.air.language.abstractsyntax.resource.as.IAsReferenceResolveResult<org.eclipse.emf.ecore.EObject> result) { if (container == null) { return; } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getImport().isInstance(container)) { AsFuzzyResolveResult<org.eclipse.emf.ecore.EPackage> frr = new AsFuzzyResolveResult<org.eclipse.emf.ecore.EPackage>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("ePackage")) { importEPackageReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.Import) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getConcreteNodeDefinition().isInstance(container)) { AsFuzzyResolveResult<org.eclipse.emf.ecore.EClass> frr = new AsFuzzyResolveResult<org.eclipse.emf.ecore.EClass>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("eSuperClass")) { concreteNodeDefinitionESuperClassReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.ConcreteNodeDefinition) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getInterfaceNodeDefinition().isInstance(container)) { AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.Definition> frr = new AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.Definition>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("options")) { interfaceNodeDefinitionOptionsReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.InterfaceNodeDefinition) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getAttribute().isInstance(container)) { AsFuzzyResolveResult<org.eclipse.emf.ecore.EDataType> frr = new AsFuzzyResolveResult<org.eclipse.emf.ecore.EDataType>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("type")) { attributeTypeReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.Attribute) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getContainment().isInstance(container)) { AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.Definition> frr = new AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.Definition>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("type")) { containmentTypeReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.Containment) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getInternalReference().isInstance(container)) { AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.Definition> frr = new AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.Definition>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("type")) { internalReferenceTypeReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.InternalReference) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getInternalReference().isInstance(container)) { AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.InternalReference> frr = new AsFuzzyResolveResult<org.reuseware.air.language.abstractsyntax.InternalReference>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("opposite")) { internalReferenceOppositeReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.InternalReference) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } if (org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getExternalReference().isInstance(container)) { AsFuzzyResolveResult<org.eclipse.emf.ecore.EClass> frr = new AsFuzzyResolveResult<org.eclipse.emf.ecore.EClass>(result); java.lang.String referenceName = reference.getName(); org.eclipse.emf.ecore.EStructuralFeature feature = container.eClass().getEStructuralFeature(referenceName); if (feature != null && feature instanceof org.eclipse.emf.ecore.EReference && referenceName != null && referenceName.equals("type")) { externalReferenceTypeReferenceResolver.resolve(identifier, (org.reuseware.air.language.abstractsyntax.ExternalReference) container, (org.eclipse.emf.ecore.EReference) feature, position, true, frr); } } } public org.reuseware.air.language.abstractsyntax.resource.as.IAsReferenceResolver<? extends org.eclipse.emf.ecore.EObject, ? extends org.eclipse.emf.ecore.EObject> getResolver(org.eclipse.emf.ecore.EStructuralFeature reference) { if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getImport_EPackage()) { return importEPackageReferenceResolver; } if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getConcreteNodeDefinition_ESuperClass()) { return concreteNodeDefinitionESuperClassReferenceResolver; } if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getInterfaceNodeDefinition_Options()) { return interfaceNodeDefinitionOptionsReferenceResolver; } if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getAttribute_Type()) { return attributeTypeReferenceResolver; } if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getContainment_Type()) { return containmentTypeReferenceResolver; } if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getInternalReference_Type()) { return internalReferenceTypeReferenceResolver; } if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getInternalReference_Opposite()) { return internalReferenceOppositeReferenceResolver; } if (reference == org.reuseware.air.language.abstractsyntax.AbstractsyntaxPackage.eINSTANCE.getExternalReference_Type()) { return externalReferenceTypeReferenceResolver; } return null; } }