/** * <copyright> * </copyright> * * */ package org.dresdenocl.language.ocl.resource.ocl.mopp; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; /** * <p> * A factory for ContextDependentURIFragments. Given a feasible reference * resolver, this factory returns a matching fragment that used the resolver to * resolver proxy objects. * </p> * * @param <ContainerType> the type of the class containing the reference to be * resolved * @param <ReferenceType> the type of the reference to be resolved */ public class OclContextDependentURIFragmentFactory<ContainerType extends EObject, ReferenceType extends EObject> implements org.dresdenocl.language.ocl.resource.ocl.IOclContextDependentURIFragmentFactory<ContainerType, ReferenceType> { private final org.dresdenocl.language.ocl.resource.ocl.IOclReferenceResolver<ContainerType, ReferenceType> resolver; public OclContextDependentURIFragmentFactory(org.dresdenocl.language.ocl.resource.ocl.IOclReferenceResolver<ContainerType, ReferenceType> resolver) { this.resolver = resolver; } public org.dresdenocl.language.ocl.resource.ocl.IOclContextDependentURIFragment<?> create(String identifier, ContainerType container, EReference reference, int positionInReference, EObject proxy) { return new org.dresdenocl.language.ocl.resource.ocl.mopp.OclContextDependentURIFragment<ContainerType, ReferenceType>(identifier, container, reference, positionInReference, proxy) { public org.dresdenocl.language.ocl.resource.ocl.IOclReferenceResolver<ContainerType, ReferenceType> getResolver() { return resolver; } }; } }