/***************************************************************************** * Copyright (c) 2011 CEA LIST. * * * 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: * CEA LIST - Initial API and implementation * *****************************************************************************/ package org.eclipse.papyrus.uml.alf.syntax.expressions; import java.util.ArrayList; import java.util.List; import org.eclipse.papyrus.uml.alf.syntax.common.AssignedSource; public class ConditionalLogicalExpression extends BinaryExpression { // Constraints /* * A conditional logical expression has a multiplicity lower bound of 0 if the lower bound if either operand * expression is 0 and 1 otherwise. */ public void checkConditionalLogicalExpressionLower() { } /* * The operands of a conditional logical expression must have type Boolean. */ public void checkConditionalLogicalExpressionOperands() { } /* * A conditional logical expression has type Boolean. */ public void checkConditionalLogicalExpressionTypeDerivation() { } /* * A conditional logical expression has a multiplicity upper bound of 1. */ public void checkConditionalLogicalExpressionUpper() { } // Helper Operations /* * If a name has the same assigned source after the second operand expression as before it, then that is its * assigned source after the conditional logical expression. If a name is unassigned before the second * operand expression, then it is considered unassigned after the conditional logical expression, even if it * has an assigned source after the second operand expression. Otherwise its assigned source after the * conditional logical expression is the conditional logical expression itself. */ public List<AssignedSource> updateAssignments() { return new ArrayList<AssignedSource>() ; } /* * The assignments before the first operand expression of a conditional logical expression are the same as * those before the conditional logical expression. The assignments before the second operand expression * are the same as those after the first operand expression.(non-Javadoc) */ public boolean validateAssignments() { return false ; } }