/** * <copyright> * </copyright> * * */ package org.dresdenocl.language.ocl.resource.ocl.analysis; import java.util.List; import org.dresdenocl.language.ocl.resource.ocl.IOclReferenceResolveHelper; import org.dresdenocl.language.ocl.resource.ocl.OclReferenceResolveHelperProvider; import org.dresdenocl.pivotmodel.NamedElement; public class PathNameSimpleCSNamedElementReferenceResolver implements org.dresdenocl.language.ocl.resource.ocl.IOclReferenceResolver<org.dresdenocl.language.ocl.PathNameSimpleCS, org.dresdenocl.pivotmodel.NamedElement> { private org.dresdenocl.language.ocl.resource.ocl.analysis.OclDefaultResolverDelegate<org.dresdenocl.language.ocl.PathNameSimpleCS, org.dresdenocl.pivotmodel.NamedElement> delegate = new org.dresdenocl.language.ocl.resource.ocl.analysis.OclDefaultResolverDelegate<org.dresdenocl.language.ocl.PathNameSimpleCS, org.dresdenocl.pivotmodel.NamedElement>(); public void resolve(String identifier, org.dresdenocl.language.ocl.PathNameSimpleCS container, org.eclipse.emf.ecore.EReference reference, int position, boolean resolveFuzzy, final org.dresdenocl.language.ocl.resource.ocl.IOclReferenceResolveResult<org.dresdenocl.pivotmodel.NamedElement> result) { IOclReferenceResolveHelper rrHelper = OclReferenceResolveHelperProvider .getOclReferenceResolveHelper(); if (rrHelper != null) { List<NamedElement> nes = rrHelper.resolvePathName(identifier, resolveFuzzy, container); for (NamedElement ne : nes) { if (!resolveFuzzy) result.addMapping(identifier, ne); else result.addMapping(ne.getName(), ne); } } } public String deResolve(org.dresdenocl.pivotmodel.NamedElement element, org.dresdenocl.language.ocl.PathNameSimpleCS container, org.eclipse.emf.ecore.EReference reference) { return delegate.deResolve(element, container, reference); } public void setOptions(java.util.Map<?,?> options) { // save options in a field or leave method empty if this resolver does not depend // on any option } }