blob: e5a82693a24d19dda0f35c1c41235a4a3e7becaf [file] [log] [blame]
/*
* Copyright (c) 2005, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM - initial API and implementation
*
* $Id: AssociationClass.java,v 1.7 2009/02/27 18:37:53 jbruck Exp $
*/
package org.eclipse.uml2.uml;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Association Class</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* A model element that has both association and class properties. An AssociationClass can be seen as an association that also has class properties, or as a class that also has association properties. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not to any of the classifiers.
* <!-- end-model-doc -->
*
*
* @see org.eclipse.uml2.uml.UMLPackage#getAssociationClass()
* @model
* @generated
*/
public interface AssociationClass
extends Class, Association {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* An AssociationClass cannot be defined between itself and something else.
* self.endType->excludes(self) and self.endType>collect(et|et.allparents()->excludes(self))
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
* <!-- end-model-doc -->
* @model
* @generated
*/
boolean validateCannotBeDefined(DiagnosticChain diagnostics,
Map<Object, Object> context);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The operation allConnections results in the set of all AssociationEnds of the Association.
* result = memberEnd->union ( self.parents ()->collect (p | p.allConnections () )
* <!-- end-model-doc -->
* @model lower="2" ordered="false"
* @generated
*/
EList<Property> allConnections();
} // AssociationClass