diff options
Diffstat (limited to 'deprecated/deprecated-plugins/uml.deprecated/org.eclipse.papyrus.diagram.sequence/src/org/eclipse/papyrus/diagram/sequence/expressions/UMLAbstractExpression.java')
-rw-r--r-- | deprecated/deprecated-plugins/uml.deprecated/org.eclipse.papyrus.diagram.sequence/src/org/eclipse/papyrus/diagram/sequence/expressions/UMLAbstractExpression.java | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/deprecated/deprecated-plugins/uml.deprecated/org.eclipse.papyrus.diagram.sequence/src/org/eclipse/papyrus/diagram/sequence/expressions/UMLAbstractExpression.java b/deprecated/deprecated-plugins/uml.deprecated/org.eclipse.papyrus.diagram.sequence/src/org/eclipse/papyrus/diagram/sequence/expressions/UMLAbstractExpression.java deleted file mode 100644 index ed9ebb0cbf5..00000000000 --- a/deprecated/deprecated-plugins/uml.deprecated/org.eclipse.papyrus.diagram.sequence/src/org/eclipse/papyrus/diagram/sequence/expressions/UMLAbstractExpression.java +++ /dev/null @@ -1,165 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2007 Conselleria de Infraestructuras y Transporte, - * Generalitat de la Comunitat Valenciana . 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: Gabriel Merin Cubero (Prodevelop) – Sequence Diagram implementation - * - ******************************************************************************/ -package org.eclipse.papyrus.diagram.sequence.expressions; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.Collections; -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.emf.ecore.EClassifier; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EEnumLiteral; -import org.eclipse.emf.ecore.util.EcoreUtil; - -import org.eclipse.papyrus.diagram.sequence.part.UMLDiagramEditorPlugin; - -/** - * @generated - */ -public abstract class UMLAbstractExpression { - - /** - * @generated - */ - private IStatus status = Status.OK_STATUS; - - /** - * @generated - */ - protected UMLAbstractExpression(String body, EClassifier context) { - myBody = body; - myContext = context; - } - - /** - * @generated - */ - protected void setStatus(int severity, String message, Throwable throwable) { - String pluginID = UMLDiagramEditorPlugin.ID; - this.status = new Status(severity, pluginID, -1, - (message != null) ? message : "", throwable); //$NON-NLS-1$ - if (!this.status.isOK()) { - UMLDiagramEditorPlugin - .getInstance() - .logError( - "Expression problem:" + message + "body:" + body(), throwable); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - - /** - * @generated - */ - protected abstract Object doEvaluate(Object context, Map env); - - /** - * @generated - */ - public Object evaluate(Object context) { - return evaluate(context, Collections.EMPTY_MAP); - } - - /** - * @generated - */ - public Object evaluate(Object context, Map env) { - if (context().isInstance(context)) { - try { - return doEvaluate(context, env); - } catch (Exception e) { - UMLDiagramEditorPlugin.getInstance().logError( - "Expression evaluation failure: " + body(), e);//$NON-NLS-1$ - } - } - return null; - } - - /** - * Expression may return number value which is not directly compatible with feature type (e.g. Double when Integer is expected), or EEnumLiteral meta-object when literal instance is expected - * @generated - */ - public static Object performCast(Object value, EDataType targetType) { - if (targetType instanceof EEnum) { - if (value instanceof EEnumLiteral) { - EEnumLiteral literal = (EEnumLiteral) value; - return (literal.getInstance() != null) ? literal.getInstance() - : literal; - } - } - if (false == value instanceof Number || targetType == null - || targetType.getInstanceClass() == null) { - return value; - } - Class targetClass = targetType.getInstanceClass(); - Number num = (Number) value; - Class valClass = value.getClass(); - Class targetWrapperClass = targetClass; - if (targetClass.isPrimitive()) { - targetWrapperClass = EcoreUtil.wrapperClassFor(targetClass); - } - if (valClass.equals(targetWrapperClass)) { - return value; - } - if (Number.class.isAssignableFrom(targetWrapperClass)) { - if (targetWrapperClass.equals(Byte.class)) - return new Byte(num.byteValue()); - if (targetWrapperClass.equals(Integer.class)) - return new Integer(num.intValue()); - if (targetWrapperClass.equals(Short.class)) - return new Short(num.shortValue()); - if (targetWrapperClass.equals(Long.class)) - return new Long(num.longValue()); - if (targetWrapperClass.equals(BigInteger.class)) - return BigInteger.valueOf(num.longValue()); - if (targetWrapperClass.equals(Float.class)) - return new Float(num.floatValue()); - if (targetWrapperClass.equals(Double.class)) - return new Double(num.doubleValue()); - if (targetWrapperClass.equals(BigDecimal.class)) - return new BigDecimal(num.doubleValue()); - } - return value; - } - - /** - * @generated - */ - public IStatus getStatus() { - return status; - } - - /** - * @generated - */ - private final String myBody; - - /** - * @generated - */ - public String body() { - return myBody; - } - - /** - * @generated - */ - private final EClassifier myContext; - - /** - * @generated - */ - public EClassifier context() { - return myContext; - } -} |