/* * 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.emf.ecore.EObject; /** * RelationshipRoleAspect * * @since 8.0 */ public interface RelationshipRoleAspect extends RelationshipMetamodelAspect { /** * Get the name of the metamodel entity. * @param eObject The <code>EObject</code> for which name is obtained * @return name of the metamodel entity. */ String getName(EObject eObject); /** * Get stereotype on the role, this may be null. * @param eObject The <code>EObject</code> for which stereotype is obtained * @return roles stereotype if any. */ String getStereoType(EObject eObject); /** * Check if the relationshiprole is ordered * @param eObject The <code>EObject</code> whose orderliness is checked. * @return boolean indicating orderliness. */ boolean isOrdered(EObject eObject); /** * Check if the relationshiprole is unique * @param eObject The <code>EObject</code> whose uniqueness is checked. * @return boolean indicating uniqueness. */ boolean isUnique(EObject eObject); /** * Check if the relationshiprole is naviable * @param eObject The <code>EObject</code> whose navigability is checked. * @return boolean indicating navigability. */ boolean isNavigable(EObject eObject); /** * Get lowerbound for this role. * @param eObject The <code>EObject</code> for which role lowerbound is obtained * @return lowerbound value of a relationshiprole. */ int getLowerBound(EObject eObject); /** * Get upperbound for this role. * @param eObject The <code>EObject</code> for which role upperbound is obtained * @return upperbound value of a relationshiprole. */ int getUpperBound(EObject eObject); /** * Check if the relationshiprole is a source role * @param eObject The <code>EObject</code> is checked if it is a source role. * @return boolean indicating if the role is a source role. */ boolean isSourceRole(EObject eObject); /** * Check if the relationshiprole is a source role * @param eObject The <code>EObject</code> is checked if it is a source role. * @return boolean indicating if the role is a source role. */ boolean isTargetRole(EObject eObject); /** * Get opposite role for this role. * @param eObject The <code>EObject</code> for which opposite role * @return opposite role for this relationshiprole. */ Object getOppositeRole(EObject eObject); /** * Get overridden role for this role. * @param eObject The <code>EObject</code> for which overriddenrole * @return overridden role for this relationshiprole. */ Object getOverriddenRole(EObject eObject); }