/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.resource; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; /** * A converter to normalize EObject URI instances of the form resourceURI#fragment. * * @since 8.0 */ public interface EObjectHrefConverter { /** * Return the physical URI for the specified logical EObject URI. * If no mapping exists in the converter for the specified logical * URI then null is returned. * @param logicalUri the logical URI to lookup; may not be null * @return the physical URI mapping. */ URI getPhysicalURI(URI logicalURI); /** * Return the physical URI for the specified EObject. * @param eObject the EObject instance to use; may not be null * @return the physical URI. */ URI getPhysicalURI(EObject eObject); /** * Return the logical URI for the specified physical EObject URI. * If no mapping exists in the converter for the specified physical * URI then null is returned. * @param physicalUri the physical URI to lookup; may not be null * @return the logical URI mapping. */ URI getLogicalURI(URI physicalURI); /** * Return the logical URI for the specified EObject. If no logical * mapping exists in the converter for the specified EObject then * then null is returned. * @param eObject the EObject instance to use; may not be null * @return the logical URI mapping. */ URI getLogicalURI(EObject eObject); }