Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/pasteInNewTable/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OpaqueExpressionUtil.java')
-rw-r--r--sandbox/pasteInNewTable/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OpaqueExpressionUtil.java120
1 files changed, 0 insertions, 120 deletions
diff --git a/sandbox/pasteInNewTable/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OpaqueExpressionUtil.java b/sandbox/pasteInNewTable/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OpaqueExpressionUtil.java
deleted file mode 100644
index 3d6e915282a..00000000000
--- a/sandbox/pasteInNewTable/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OpaqueExpressionUtil.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2008 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:
- * Remi SCHNEKENBURGER (CEA LIST) Remi.schnekenburger@cea.fr - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.uml.tools.utils;
-
-
-/**
- * Util class for {@link OpaqueExpression}
- */
-public class OpaqueExpressionUtil {
-
- /**
- * Returns the body for an OpaqueExpression for the given language
- *
- * @param opaqueExpression
- * the opaque expression to edit.
- * @param language
- * the language in which the body is written
- * @return the body for the given language or the empty string if the language was not found
- */
- public static String getBodyForLanguage(org.eclipse.uml2.uml.OpaqueExpression opaqueExpression, String language) {
- String body = "";
- if(language == null) {
- if(!opaqueExpression.getBodies().isEmpty()) {
- body = opaqueExpression.getBodies().get(0);
- }
- } else {
- // retrieve the index of the given language in the opaque Expression
- int index = opaqueExpression.getLanguages().indexOf(language);
- if(index != -1) {
- // language found. return the corresponding body in the bodies list.
- // List should be synchronized, ie having the same size, but be sure...
- if(index < opaqueExpression.getBodies().size()) {
- body = opaqueExpression.getBodies().get(index);
- }
- }
- }
- return body;
- }
-
- /**
- * sets the body for an OpaqueExpression for the given language.
- * <p>
- * If the language was already defined, it replaces the corresponding body. If the language was not already defined, it adds it to the list of
- * languages and adds the corresponding body.
- * <p>
- * A utility method, {@link OpaqueExpression#checkAndCorrectLists(org.eclipse.uml2.uml.OpaqueExpression)} is used to correct the language and body
- * lists.
- *
- * @param opaqueExpression
- * the opaque expression to edit.
- * @param language
- * the language in which the body is written
- * @param body
- * the body to save
- */
- public static void setBodyForLanguage(org.eclipse.uml2.uml.OpaqueExpression opaqueExpression, String language, String body) {
- // checks both lists by size
- checkAndCorrectLists(opaqueExpression);
- // checks if language exists, if not, creates one
- if(!opaqueExpression.getLanguages().contains(language)) {
- opaqueExpression.getLanguages().add(language);
- opaqueExpression.getBodies().add(body);
- } else {
- // retrieve the index of the given language in the opaque Expression
- int index = opaqueExpression.getLanguages().indexOf(language);
- // sets the body at the given index in the list of bodies.
- opaqueExpression.getBodies().set(index, body);
- }
- }
-
- /**
- * Checks body and languages list of an opaque expression.
- * <p>
- * It returns <code>true</code> if both lists have the same size. It returns <code>false</code> if one of the list was bigger than the other one.
- * In this latter case, one of the list was corrected, ie enough elements where added in the list
- *
- * @param opaqueExpression
- * the opaque expression to check
- * @return <code>true</code> if both lists already had the same size, <code>false</code> in
- * other cases.
- */
- public static boolean checkAndCorrectLists(org.eclipse.uml2.uml.OpaqueExpression opaqueExpression) {
- // both lists, languages and bodies, should have the same size
- final int bodySize = opaqueExpression.getBodies().size();
- final int languageSize = opaqueExpression.getLanguages().size();
- // check both size
- // if equals, lists are supposed synchronized, it is ok
- // if less body than languages, add bodies
- // if more body, add enough languages
- if(bodySize == languageSize) {
- return true;
- } else {
- final int difference = languageSize - bodySize;
- if(difference > 0) {
- // more languages strings than body strings, add enough bodies
- for(int i = 0; i < difference; i++) {
- opaqueExpression.getBodies().add("");
- }
- } else {
- // more body strings than language strings, add enough languages
- for(int i = 0; i < (-difference); i++) {
- opaqueExpression.getLanguages().add("");
- }
- }
- // lists had to be modified, return false...
- return false;
- }
- }
-}

Back to the top