/**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateOppositePropertyCallExp(
     OppositePropertyCallExp oppositePropertyCallExp,
     DiagnosticChain diagnostics,
     Map<Object, Object> context) {
   boolean result =
       validate_EveryMultiplicityConforms(oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryDataValueConforms(oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryReferenceIsContained(oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryProxyResolves(oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_UniqueID(oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryKeyUnique(oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryMapEntryUnique(oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecore_1Validator.validateOCLExpression_WellFormedName(
             oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ValidLowerBound(
             oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ValidUpperBound(
             oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ConsistentBounds(
             oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ValidType(
             oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         expressionsValidator.validatePropertyCallExp_checkPropertyType(
             oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateOppositePropertyCallExp_PropertyIsReference(
             oppositePropertyCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateOppositePropertyCallExp_PropertyIsUnidirectional(
             oppositePropertyCallExp, diagnostics, context);
   return result;
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateRelation(
     Relation relation, DiagnosticChain diagnostics, Map<Object, Object> context) {
   boolean result = validate_EveryMultiplicityConforms(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryDataValueConforms(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryReferenceIsContained(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryProxyResolves(relation, diagnostics, context);
   if (result || diagnostics != null) result &= validate_UniqueID(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryKeyUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryMapEntryUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= ecoreValidator.validateENamedElement_WellFormedName(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= qvtBaseValidator.validateRule_OverridesIsCompatible(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateRule_OverridesDefinedByTransformation(
             relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= qvtBaseValidator.validateRule_DomainNamesAreUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelation_DomainTypedModelsMatchModelParameters(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_AtLeastTwoDomains(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_EveryDomainIsARelationDomain(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_NonTopLevelIsNotInvokedWarning(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_RelationImplsAreUniqueWarning(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_VariablesAreUnique(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhenTypesAreDeclaredByRelation(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhenVariablesAreDefinedByRelation(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhereTypesAreDeclaredByRelation(relation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelation_WhereVariablesAreDefinedByRelation(relation, diagnostics, context);
   return result;
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateRelationCallExp(
     RelationCallExp relationCallExp, DiagnosticChain diagnostics, Map<Object, Object> context) {
   boolean result = validate_EveryMultiplicityConforms(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryDataValueConforms(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryReferenceIsContained(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryProxyResolves(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_UniqueID(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryKeyUnique(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryMapEntryUnique(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecore_1Validator.validateOCLExpression_WellFormedName(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ValidLowerBound(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ValidUpperBound(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ConsistentBounds(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateETypedElement_ValidType(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelationCallExp_PatternExists(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelationCallExp_RelationExists(relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationCallExp_InvokedFromWhenOrWhereClause(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationCallExp_ReferredRelationDeclaredByTransformation(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationCallExp_ReferredRelationArgumentNumberMatches(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationCallExp_EveryWhenReferredRelationArgumentTypeMatches(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationCallExp_EveryWhereReferredRelationArgumentTypeIsMatchableWarning(
             relationCallExp, diagnostics, context);
   if (result || diagnostics != null)
     result &= validateRelationCallExp_TypeIsBoolean(relationCallExp, diagnostics, context);
   return result;
 }
 /**
  * Validates the WellFormedName constraint of '<em>Relation Domain</em>'.
  *
  * @generated NOT
  */
 public boolean validateRelationDomain_WellFormedName(
     RelationDomain relationDomain, DiagnosticChain diagnostics, Map<Object, Object> context) {
   if (relationDomain.getPattern() == null) return true;
   return ecoreValidator.validateENamedElement_WellFormedName(
       relationDomain, diagnostics, context);
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateRelationalTransformation(
     RelationalTransformation relationalTransformation,
     DiagnosticChain diagnostics,
     Map<Object, Object> context) {
   boolean result =
       validate_EveryMultiplicityConforms(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryDataValueConforms(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryReferenceIsContained(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryProxyResolves(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_UniqueID(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryKeyUnique(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &= validate_EveryMapEntryUnique(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateENamedElement_WellFormedName(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClassifier_WellFormedInstanceTypeName(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClassifier_UniqueTypeParameterNames(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_InterfaceIsAbstract(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_AtMostOneID(relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_UniqueFeatureNames(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_UniqueOperationSignatures(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_NoCircularSuperTypes(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_WellFormedMapEntryClass(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_ConsistentSuperTypes(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEClass_DisjointFeatureAndOperationSignatures(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_WellFormedNsURI(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_WellFormedNsPrefix(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         ecoreValidator.validateEPackage_UniqueSubpackageNames(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationalTransformation_UniqueClassifierNames(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_UniqueNsURIs(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_ExtendsIsAcyclic(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_ModelParameterNamesAreCompatibleWithExtension(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator
             .validateTransformation_EveryModelParameterUsedPackagesIsCompatibleWithExtension(
                 relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_ModelParameterNamesAreUnique(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_RuleNamesAreUnique(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         qvtBaseValidator.validateTransformation_SynthesizedTypesAreOwned(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationalTransformation_EveryRuleIsARelation(
             relationalTransformation, diagnostics, context);
   if (result || diagnostics != null)
     result &=
         validateRelationalTransformation_KeysAreUnique(
             relationalTransformation, diagnostics, context);
   return result;
 }