/* * 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 java.util.Collection; import org.eclipse.core.runtime.IStatus; import org.eclipse.emf.ecore.EObject; /** * RelationshipAspect * * @since 8.0 */ public interface RelationshipAspect extends RelationshipEntityAspect { /** * Get a list of <code>EObject</code>s objects for the source to the relationship. * @param eObject The <code>EObject</code> for which sources are obtained * @return a collection of <code>EObject</code>s */ Collection getSources(EObject eObject); /** * Get a list of <code>EObject</code>s objects for the source to the relationship. * @param eObject The <code>EObject</code> for which sources are obtained * @return a collection of <code>EObject</code>s */ Collection getTargets(EObject eObject); /** * Get a the relationshiptype <code>EObject</code>s for this relationship. * @param eObject The <code>EObject</code> for which relationshiptype is obtained * @return a <code>EObject</code> that is the relationshiptype */ Object getType(EObject eObject); /** * Get a the name of the relationshiptype for this relationship. * @param eObject The <code>EObject</code> for which relationshiptype is obtained * @return the name of the relationshiptype */ String getTypeName(EObject eObject); /** * Get a the relationshiprole <code>EObject</code>s for source to this relationship. * @param eObject The <code>EObject</code> for which relationshiprole is obtained * @return a <code>EObject</code> that is the relationshiprole */ Object getSourceRole(EObject eObject); /** * Get a the relationshiprole <code>EObject</code>s for target to this relationship. * @param eObject The <code>EObject</code> for which relationshiprole is obtained * @return a <code>EObject</code> that is the relationshiprole */ Object getTargetRole(EObject eObject); /** * Get a the relationshiprole name for source to this relationship. * @param eObject The <code>EObject</code> for which relationshiprole is obtained * @return name of the relationshiprole */ String getSourceRoleName(EObject eObject); /** * Get a the relationshiprole name for target to this relationship. * @param eObject The <code>EObject</code> for which relationshiprole is obtained * @return name of the relationshiprole */ String getTargetRoleName(EObject eObject); /** * Get a the status on this relationship. * @param eObject The <code>EObject</code> for which status is obtained * @return a <code>IStatus</code> that is status on the relationship */ IStatus isValid(EObject eObject); }