/* * 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.metamodel.aspect.relationship; import org.eclipse.core.runtime.IPath; import org.eclipse.emf.ecore.EObject; import org.teiid.designer.core.metamodel.aspect.MetamodelAspect; /** * RelationshipMetamodelAspect * * @since 8.0 */ public interface RelationshipMetamodelAspect extends MetamodelAspect { /** * Returns true if the implementation of this RelationshipMetamodelAspect represents * the specified record type. * @param recordType one of {@link org.teiid.designer.core.index.IndexConstants.RECORD_TYPE} * @return */ boolean isRecordType(char recordType); /** * Get the ObjectID of the metamodel entity. * @param eObject The <code>EObject</code> for which object ID is obtained * @return ObjectID of the metamodel entity. */ Object getObjectID(EObject eObject); /** * Get the ObjectID of the parent metamodel entity. The parent * entity may be the actual eContainer for the specified EObject or * may represent a logical parent within the model. * @param eObject The <code>EObject</code> for which the parent's object ID is obtained * @return ObjectID of the parent entity. */ Object getParentObjectID(EObject eObject); /** * Get the relative path within the model including the model name. * @param eObject The <code>EObject</code> for which path is obtained * @return short name of the table */ IPath getPath(EObject eObject); }