diff options
author | Nicolas FAUVERGUE | 2016-11-24 12:49:41 +0000 |
---|---|---|
committer | vincent lorenzo | 2016-11-29 11:01:26 +0000 |
commit | 3ed639ecef256da3eeff86d3b428720561f362df (patch) | |
tree | ea5d0d552c2e0b62cd9ee3cafd907ee69c0ad2e8 /plugins/uml/internationalization | |
parent | b3141df23ca644573f8b2813ad8859722d418bd9 (diff) | |
download | org.eclipse.papyrus-3ed639ecef256da3eeff86d3b428720561f362df.tar.gz org.eclipse.papyrus-3ed639ecef256da3eeff86d3b428720561f362df.tar.xz org.eclipse.papyrus-3ed639ecef256da3eeff86d3b428720561f362df.zip |
Bug 496905: [Diagram][ModelExplorer][Table][Dialog] Papyrus must integrate
the internationalization feature provided by UML.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=496905
Commit of UML for internationalization.
Change-Id: Ia61e5ef4d537f9e9b192bcfe073f921542fe4876
Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@all4tec.net>
Diffstat (limited to 'plugins/uml/internationalization')
36 files changed, 4821 insertions, 0 deletions
diff --git a/plugins/uml/internationalization/.project b/plugins/uml/internationalization/.project new file mode 100644 index 00000000000..24ff6b9478e --- /dev/null +++ b/plugins/uml/internationalization/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>uml_internationalization</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + </natures> +</projectDescription> diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.classpath b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.classpath new file mode 100644 index 00000000000..4221242104f --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.project b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.project new file mode 100644 index 00000000000..8c098aba9de --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.project @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.papyrus.uml.internationalization.edit</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.oomph.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>check.maven.pom</key> + <value>true</value> + </dictionary> + <dictionary> + <key>ignore.lower.bound.dependency.ranges</key> + <value>true</value> + </dictionary> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.papyrus.releng.main.release/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.oomph.version.VersionNature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + </natures> +</projectDescription> diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..0c68a61dca8 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/META-INF/MANIFEST.MF b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..28d74f78f73 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/META-INF/MANIFEST.MF @@ -0,0 +1,22 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.papyrus.uml.internationalization.edit;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.ui.workbench;bundle-version="[3.108.0,4.0.0)", + org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport, + org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)", + org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)", + org.eclipse.uml2.uml.edit;bundle-version="[5.1.0,6.0.0)", + org.eclipse.papyrus.infra.internationalization;bundle-version="[1.0.0,2.0.0)", + org.eclipse.papyrus.uml.internationalization.utils;bundle-version="[1.0.0,2.0.0)", + org.eclipse.papyrus.infra.internationalization.common;bundle-version="[1.0.0,2.0.0)" +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.papyrus.uml.internationalization.edit.Activator +Export-Package: org.eclipse.papyrus.uml.internationalization.edit, + org.eclipse.papyrus.uml.internationalization.edit.providers, + org.eclipse.papyrus.uml.internationalization.edit.utils diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/about.html b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/about.html new file mode 100644 index 00000000000..598b3684879 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>May 12, 2008</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/build.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/build.properties new file mode 100644 index 00000000000..2964bc2d7b1 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/build.properties @@ -0,0 +1,11 @@ +# + +bin.includes = .,\ + META-INF/,\ + about.html,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ +src.includes = about.html diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.properties new file mode 100644 index 00000000000..32161262f47 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = Papyrus Internationalization Edit Support for UML +providerName = Eclipse Modeling Project diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.xml new file mode 100644 index 00000000000..773b179da5f --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories"> + <factory + uri = "http://www.eclipse.org/uml2/5.0.0/UML" + class = "org.eclipse.papyrus.uml.internationalization.edit.providers.InternationalizationUMLItemProviderAdapterFactory" + supportedTypes = + "org.eclipse.emf.edit.provider.IEditingDomainItemProvider + org.eclipse.emf.edit.provider.IStructuredItemContentProvider + org.eclipse.emf.edit.provider.ITreeItemContentProvider + org.eclipse.emf.edit.provider.IItemLabelProvider + org.eclipse.emf.edit.provider.IItemColorProvider + org.eclipse.emf.edit.provider.IItemFontProvider + org.eclipse.emf.edit.provider.IItemPropertySource" /> + </extension> +</plugin> diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/pom.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/pom.xml new file mode 100644 index 00000000000..d517bd33c9b --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/pom.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId> + <groupId>org.eclipse.papyrus</groupId> + <version>0.0.1-SNAPSHOT</version> + </parent> + <artifactId>org.eclipse.papyrus.uml.internationalization.edit</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>eclipse-plugin</packaging> +</project>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/Activator.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/Activator.java new file mode 100644 index 00000000000..37e4d945384 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/Activator.java @@ -0,0 +1,77 @@ +/***************************************************************************** + * Copyright (c) 2016 CEA LIST 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: + * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.internationalization.edit; + +import org.eclipse.papyrus.infra.core.log.LogHelper; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle. + */ +public class Activator extends AbstractUIPlugin { + + /** + * The plug-in ID. + */ + public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.internationalization.edit"; //$NON-NLS-1$ + + /** + * The shared instance. + */ + private static Activator plugin; + + /** + * The log helper. + */ + public static LogHelper log; + + /** + * The constructor + */ + public Activator() { + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(final BundleContext context) throws Exception { + super.start(context); + plugin = this; + log = new LogHelper(this); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(final BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } +} diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/providers/InternationalizationUMLItemProviderAdapterFactory.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/providers/InternationalizationUMLItemProviderAdapterFactory.java new file mode 100644 index 00000000000..e16a9de9a4c --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/providers/InternationalizationUMLItemProviderAdapterFactory.java @@ -0,0 +1,3492 @@ +/***************************************************************************** + * Copyright (c) 2016 CEA LIST 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: + * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.internationalization.edit.providers; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.papyrus.uml.internationalization.edit.utils.InternationalizationElementItemProviderUtils; +import org.eclipse.papyrus.uml.internationalization.utils.utils.UMLLabelInternationalization; +import org.eclipse.uml2.common.util.UML2Util; +import org.eclipse.uml2.uml.LiteralUnlimitedNatural; +import org.eclipse.uml2.uml.MultiplicityElement; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.Operation; +import org.eclipse.uml2.uml.Parameter; +import org.eclipse.uml2.uml.Property; +import org.eclipse.uml2.uml.Type; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.edit.providers.*; +import org.eclipse.uml2.uml.util.UMLUtil; + +/** + * This allows to override the {@link UMLItemProviderAdapterFactory} to avoid + * the {@link NamedElement#getLabel()} call when the internationalization + * preference is set to false. + */ +public class InternationalizationUMLItemProviderAdapterFactory extends UMLItemProviderAdapterFactory { + + /** + * Constructor. + */ + public InternationalizationUMLItemProviderAdapterFactory() { + super(); + } + + @Override + public Adapter createDependencyAdapter() { + if (dependencyItemProvider == null) { + dependencyItemProvider = new DependencyItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return dependencyItemProvider; + } + + @Override + public Adapter createPackageAdapter() { + if (packageItemProvider == null) { + packageItemProvider = new PackageItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return packageItemProvider; + } + + @Override + public Adapter createProfileAdapter() { + if (profileItemProvider == null) { + profileItemProvider = new ProfileItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return profileItemProvider; + } + + @Override + public Adapter createStereotypeAdapter() { + if (stereotypeItemProvider == null) { + stereotypeItemProvider = new StereotypeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return stereotypeItemProvider; + } + + @Override + public Adapter createClassAdapter() { + if (classItemProvider == null) { + classItemProvider = new ClassItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return classItemProvider; + } + + @Override + public Adapter createGeneralizationSetAdapter() { + if (generalizationSetItemProvider == null) { + generalizationSetItemProvider = new GeneralizationSetItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return generalizationSetItemProvider; + } + + @Override + public Adapter createUseCaseAdapter() { + if (useCaseItemProvider == null) { + useCaseItemProvider = new UseCaseItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return useCaseItemProvider; + } + + @Override + public Adapter createIncludeAdapter() { + if (includeItemProvider == null) { + includeItemProvider = new IncludeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return includeItemProvider; + } + + @Override + public Adapter createExtendAdapter() { + if (extendItemProvider == null) { + extendItemProvider = new ExtendItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return extendItemProvider; + } + + @Override + public Adapter createConstraintAdapter() { + if (constraintItemProvider == null) { + constraintItemProvider = new ConstraintItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return constraintItemProvider; + } + + @Override + public Adapter createExtensionPointAdapter() { + if (extensionPointItemProvider == null) { + extensionPointItemProvider = new ExtensionPointItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return extensionPointItemProvider; + } + + @Override + public Adapter createSubstitutionAdapter() { + if (substitutionItemProvider == null) { + substitutionItemProvider = new SubstitutionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return substitutionItemProvider; + } + + @Override + public Adapter createRealizationAdapter() { + if (realizationItemProvider == null) { + realizationItemProvider = new RealizationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return realizationItemProvider; + } + + @Override + public Adapter createAbstractionAdapter() { + if (abstractionItemProvider == null) { + abstractionItemProvider = new AbstractionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return abstractionItemProvider; + } + + @Override + public Adapter createOpaqueExpressionAdapter() { + if (opaqueExpressionItemProvider == null) { + opaqueExpressionItemProvider = new OpaqueExpressionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return opaqueExpressionItemProvider; + } + + @Override + public Adapter createParameterAdapter() { + if (parameterItemProvider == null) { + parameterItemProvider = new ParameterItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return parameterItemProvider; + } + + @Override + public Adapter createPropertyAdapter() { + if (propertyItemProvider == null) { + propertyItemProvider = new PropertyItemProvider(this) { + + public String getText(Object object) { + StringBuffer text = appendType( + appendKeywords(new StringBuffer(), object), "_UI_Property_type"); //$NON-NLS-1$ + + final Property property = (Property) object; + final Type type = property.getType(); + + if (property.isDerived()) { + appendString(text, "/"); //$NON-NLS-1$ + } + + String label = UMLLabelInternationalization.getInstance().getLabel(property, shouldTranslate()); + + if (!UML2Util.isEmpty(label)) { + appendString(text, label); + } else if (property.getAssociation() != null && type != null) { + String typeName = type.getName(); + + if (!UML2Util.isEmpty(typeName)) { + appendString(text, Character.toLowerCase(typeName.charAt(0)) + + typeName.substring(1)); + } + } + + if (type != null) { + String typeLabel = UMLLabelInternationalization.getInstance().getLabel(type, shouldTranslate()); + + if (!UMLUtil.isEmpty(typeLabel)) { + appendString(text, ": " + typeLabel); //$NON-NLS-1$ + } + } + + return ExtendedMultiplicityElementItemProvider.appendMultiplicityString(text, object) + .toString(); + } + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return propertyItemProvider; + } + + /** + * This allows to redefine the 'appendMultiplicity' method. + */ + public static class ExtendedMultiplicityElementItemProvider extends MultiplicityElementItemProvider{ + + /** + * Constructor. + * + * @param adapterFactory The adapter factory + */ + public ExtendedMultiplicityElementItemProvider(final AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This allows to append the multiplicity. + * + * @param text The existing string buffer. + * @param object The multiplicity element. + * @return The existing string buffer concat with multiplicity. + */ + public static StringBuffer appendMultiplicityString(final StringBuffer text, final Object object) { + return MultiplicityElementItemProvider.appendMultiplicity(text, object); + } + } + + @Override + public Adapter createDeploymentAdapter() { + if (deploymentItemProvider == null) { + deploymentItemProvider = new DeploymentItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return deploymentItemProvider; + } + + @Override + public Adapter createDeploymentSpecificationAdapter() { + if (deploymentSpecificationItemProvider == null) { + deploymentSpecificationItemProvider = new DeploymentSpecificationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return deploymentSpecificationItemProvider; + } + + @Override + public Adapter createArtifactAdapter() { + if (artifactItemProvider == null) { + artifactItemProvider = new ArtifactItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return artifactItemProvider; + } + + @Override + public Adapter createManifestationAdapter() { + if (manifestationItemProvider == null) { + manifestationItemProvider = new ManifestationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return manifestationItemProvider; + } + + @Override + public Adapter createOperationAdapter() { + if (operationItemProvider == null) { + operationItemProvider = new OperationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + + @Override + public String getText(Object object) { + final StringBuffer text = appendLabel( + appendType(appendKeywords(new StringBuffer(), object), "_UI_Operation_type"), object); //$NON-NLS-1$ + + final Operation operation = (Operation) object; + + appendString(text, "("); + + final List<Parameter> ownedParameters = new ArrayList<Parameter>(operation.getOwnedParameters()); + ownedParameters.removeAll(operation.returnResult()); + + for (Iterator<Parameter> parameters = ownedParameters.iterator(); parameters.hasNext();) { + + final Parameter parameter = parameters.next(); + final String label = UMLLabelInternationalization.getInstance().getLabel(parameter, + shouldTranslate()); + if (UMLUtil.isEmpty(label)) { + text.append('<').append(getTypeText(parameter)).append('>'); + } else { + text.append(label); + } + + final Type type = parameter.getType(); + + if (null != type) { + final String typeLabel = UMLLabelInternationalization.getInstance().getLabel(type, + shouldTranslate()); + + if (!UMLUtil.isEmpty(typeLabel)) { + appendString(text, ": " + typeLabel); //$NON-NLS-1$ + } + } + + appendMultiplicity(text, parameter); + + if (parameters.hasNext()) { + text.append(", "); //$NON-NLS-1$ + } + } + + text.append(')'); + + Parameter returnResult = operation.getReturnResult(); + + if (returnResult != null) { + Type type = returnResult.getType(); + + if (type != null) { + String typeLabel = type.getLabel(shouldTranslate()); + + if (!UMLUtil.isEmpty(typeLabel)) { + appendString(text, ": " + typeLabel); //$NON-NLS-1$ + } + } + + appendMultiplicity(text, returnResult); + } + + return text.toString(); + } + }; + } + return operationItemProvider; + } + + @Override + public Adapter createParameterSetAdapter() { + if (parameterSetItemProvider == null) { + parameterSetItemProvider = new ParameterSetItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return parameterSetItemProvider; + } + + @Override + public Adapter createDataTypeAdapter() { + if (dataTypeItemProvider == null) { + dataTypeItemProvider = new DataTypeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return dataTypeItemProvider; + } + + @Override + public Adapter createInterfaceAdapter() { + if (interfaceItemProvider == null) { + interfaceItemProvider = new InterfaceItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return interfaceItemProvider; + } + + @Override + public Adapter createReceptionAdapter() { + if (receptionItemProvider == null) { + receptionItemProvider = new ReceptionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return receptionItemProvider; + } + + @Override + public Adapter createSignalAdapter() { + if (signalItemProvider == null) { + signalItemProvider = new SignalItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return signalItemProvider; + } + + @Override + public Adapter createProtocolStateMachineAdapter() { + if (protocolStateMachineItemProvider == null) { + protocolStateMachineItemProvider = new ProtocolStateMachineItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return protocolStateMachineItemProvider; + } + + @Override + public Adapter createStateMachineAdapter() { + if (stateMachineItemProvider == null) { + stateMachineItemProvider = new StateMachineItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return stateMachineItemProvider; + } + + @Override + public Adapter createRegionAdapter() { + if (regionItemProvider == null) { + regionItemProvider = new RegionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return regionItemProvider; + } + + @Override + public Adapter createTransitionAdapter() { + if (transitionItemProvider == null) { + transitionItemProvider = new TransitionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return transitionItemProvider; + } + + @Override + public Adapter createTriggerAdapter() { + if (triggerItemProvider == null) { + triggerItemProvider = new TriggerItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return triggerItemProvider; + } + + @Override + public Adapter createPortAdapter() { + if (portItemProvider == null) { + portItemProvider = new PortItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return portItemProvider; + } + + @Override + public Adapter createStateAdapter() { + if (stateItemProvider == null) { + stateItemProvider = new StateItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return stateItemProvider; + } + + @Override + public Adapter createConnectionPointReferenceAdapter() { + if (connectionPointReferenceItemProvider == null) { + connectionPointReferenceItemProvider = new ConnectionPointReferenceItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return connectionPointReferenceItemProvider; + } + + @Override + public Adapter createPseudostateAdapter() { + if (pseudostateItemProvider == null) { + pseudostateItemProvider = new PseudostateItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return pseudostateItemProvider; + } + + @Override + public Adapter createAssociationAdapter() { + if (associationItemProvider == null) { + associationItemProvider = new AssociationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return associationItemProvider; + } + + @Override + public Adapter createCollaborationUseAdapter() { + if (collaborationUseItemProvider == null) { + collaborationUseItemProvider = new CollaborationUseItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return collaborationUseItemProvider; + } + + @Override + public Adapter createCollaborationAdapter() { + if (collaborationItemProvider == null) { + collaborationItemProvider = new CollaborationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return collaborationItemProvider; + } + + @Override + public Adapter createConnectorAdapter() { + if (connectorItemProvider == null) { + connectorItemProvider = new ConnectorItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return connectorItemProvider; + } + + @Override + public Adapter createRedefinableTemplateSignatureAdapter() { + if (redefinableTemplateSignatureItemProvider == null) { + redefinableTemplateSignatureItemProvider = new RedefinableTemplateSignatureItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return redefinableTemplateSignatureItemProvider; + } + + @Override + public Adapter createInterfaceRealizationAdapter() { + if (interfaceRealizationItemProvider == null) { + interfaceRealizationItemProvider = new InterfaceRealizationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return interfaceRealizationItemProvider; + } + + @Override + public Adapter createExtensionAdapter() { + if (extensionItemProvider == null) { + extensionItemProvider = new ExtensionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return extensionItemProvider; + } + + @Override + public Adapter createExtensionEndAdapter() { + if (extensionEndItemProvider == null) { + extensionEndItemProvider = new ExtensionEndItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return extensionEndItemProvider; + } + + @Override + public Adapter createStringExpressionAdapter() { + if (stringExpressionItemProvider == null) { + stringExpressionItemProvider = new StringExpressionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return stringExpressionItemProvider; + } + + @Override + public Adapter createExpressionAdapter() { + if (expressionItemProvider == null) { + expressionItemProvider = new ExpressionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return expressionItemProvider; + } + + @Override + public Adapter createLiteralIntegerAdapter() { + if (literalIntegerItemProvider == null) { + literalIntegerItemProvider = new LiteralIntegerItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return literalIntegerItemProvider; + } + + @Override + public Adapter createLiteralStringAdapter() { + if (literalStringItemProvider == null) { + literalStringItemProvider = new LiteralStringItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return literalStringItemProvider; + } + + @Override + public Adapter createLiteralBooleanAdapter() { + if (literalBooleanItemProvider == null) { + literalBooleanItemProvider = new LiteralBooleanItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return literalBooleanItemProvider; + } + + @Override + public Adapter createLiteralNullAdapter() { + if (literalNullItemProvider == null) { + literalNullItemProvider = new LiteralNullItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return literalNullItemProvider; + } + + @Override + public Adapter createInstanceSpecificationAdapter() { + if (instanceSpecificationItemProvider == null) { + instanceSpecificationItemProvider = new InstanceSpecificationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return instanceSpecificationItemProvider; + } + + @Override + public Adapter createEnumerationAdapter() { + if (enumerationItemProvider == null) { + enumerationItemProvider = new EnumerationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return enumerationItemProvider; + } + + @Override + public Adapter createEnumerationLiteralAdapter() { + if (enumerationLiteralItemProvider == null) { + enumerationLiteralItemProvider = new EnumerationLiteralItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return enumerationLiteralItemProvider; + } + + @Override + public Adapter createPrimitiveTypeAdapter() { + if (primitiveTypeItemProvider == null) { + primitiveTypeItemProvider = new PrimitiveTypeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return primitiveTypeItemProvider; + } + + @Override + public Adapter createInstanceValueAdapter() { + if (instanceValueItemProvider == null) { + instanceValueItemProvider = new InstanceValueItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return instanceValueItemProvider; + } + + @Override + public Adapter createLiteralUnlimitedNaturalAdapter() { + if (literalUnlimitedNaturalItemProvider == null) { + literalUnlimitedNaturalItemProvider = new LiteralUnlimitedNaturalItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return literalUnlimitedNaturalItemProvider; + } + + @Override + public Adapter createOpaqueBehaviorAdapter() { + if (opaqueBehaviorItemProvider == null) { + opaqueBehaviorItemProvider = new OpaqueBehaviorItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return opaqueBehaviorItemProvider; + } + + @Override + public Adapter createFunctionBehaviorAdapter() { + if (functionBehaviorItemProvider == null) { + functionBehaviorItemProvider = new FunctionBehaviorItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return functionBehaviorItemProvider; + } + + @Override + public Adapter createActorAdapter() { + if (actorItemProvider == null) { + actorItemProvider = new ActorItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return actorItemProvider; + } + + @Override + public Adapter createUsageAdapter() { + if (usageItemProvider == null) { + usageItemProvider = new UsageItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return usageItemProvider; + } + + @Override + public Adapter createMessageAdapter() { + if (messageItemProvider == null) { + messageItemProvider = new MessageItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return messageItemProvider; + } + + @Override + public Adapter createInteractionAdapter() { + if (interactionItemProvider == null) { + interactionItemProvider = new InteractionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return interactionItemProvider; + } + + @Override + public Adapter createLifelineAdapter() { + if (lifelineItemProvider == null) { + lifelineItemProvider = new LifelineItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return lifelineItemProvider; + } + + @Override + public Adapter createPartDecompositionAdapter() { + if (partDecompositionItemProvider == null) { + partDecompositionItemProvider = new PartDecompositionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return partDecompositionItemProvider; + } + + @Override + public Adapter createInteractionUseAdapter() { + if (interactionUseItemProvider == null) { + interactionUseItemProvider = new InteractionUseItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return interactionUseItemProvider; + } + + @Override + public Adapter createGateAdapter() { + if (gateItemProvider == null) { + gateItemProvider = new GateItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return gateItemProvider; + } + + @Override + public Adapter createActivityAdapter() { + if (activityItemProvider == null) { + activityItemProvider = new ActivityItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return activityItemProvider; + } + + @Override + public Adapter createActivityPartitionAdapter() { + if (activityPartitionItemProvider == null) { + activityPartitionItemProvider = new ActivityPartitionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return activityPartitionItemProvider; + } + + @Override + public Adapter createStructuredActivityNodeAdapter() { + if (structuredActivityNodeItemProvider == null) { + structuredActivityNodeItemProvider = new StructuredActivityNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return structuredActivityNodeItemProvider; + } + + @Override + public Adapter createVariableAdapter() { + if (variableItemProvider == null) { + variableItemProvider = new VariableItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return variableItemProvider; + } + + @Override + public Adapter createInterruptibleActivityRegionAdapter() { + if (interruptibleActivityRegionItemProvider == null) { + interruptibleActivityRegionItemProvider = new InterruptibleActivityRegionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return interruptibleActivityRegionItemProvider; + } + + @Override + public Adapter createExceptionHandlerAdapter() { + if (exceptionHandlerItemProvider == null) { + exceptionHandlerItemProvider = new ExceptionHandlerItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return exceptionHandlerItemProvider; + } + + @Override + public Adapter createOutputPinAdapter() { + if (outputPinItemProvider == null) { + outputPinItemProvider = new OutputPinItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return outputPinItemProvider; + } + + @Override + public Adapter createInputPinAdapter() { + if (inputPinItemProvider == null) { + inputPinItemProvider = new InputPinItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return inputPinItemProvider; + } + + @Override + public Adapter createGeneralOrderingAdapter() { + if (generalOrderingItemProvider == null) { + generalOrderingItemProvider = new GeneralOrderingItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return generalOrderingItemProvider; + } + + @Override + public Adapter createOccurrenceSpecificationAdapter() { + if (occurrenceSpecificationItemProvider == null) { + occurrenceSpecificationItemProvider = new OccurrenceSpecificationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return occurrenceSpecificationItemProvider; + } + + @Override + public Adapter createInteractionOperandAdapter() { + if (interactionOperandItemProvider == null) { + interactionOperandItemProvider = new InteractionOperandItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return interactionOperandItemProvider; + } + + @Override + public Adapter createInteractionConstraintAdapter() { + if (interactionConstraintItemProvider == null) { + interactionConstraintItemProvider = new InteractionConstraintItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return interactionConstraintItemProvider; + } + + @Override + public Adapter createExecutionOccurrenceSpecificationAdapter() { + if (executionOccurrenceSpecificationItemProvider == null) { + executionOccurrenceSpecificationItemProvider = new ExecutionOccurrenceSpecificationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return executionOccurrenceSpecificationItemProvider; + } + + @Override + public Adapter createStateInvariantAdapter() { + if (stateInvariantItemProvider == null) { + stateInvariantItemProvider = new StateInvariantItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return stateInvariantItemProvider; + } + + @Override + public Adapter createActionExecutionSpecificationAdapter() { + if (actionExecutionSpecificationItemProvider == null) { + actionExecutionSpecificationItemProvider = new ActionExecutionSpecificationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return actionExecutionSpecificationItemProvider; + } + + @Override + public Adapter createBehaviorExecutionSpecificationAdapter() { + if (behaviorExecutionSpecificationItemProvider == null) { + behaviorExecutionSpecificationItemProvider = new BehaviorExecutionSpecificationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return behaviorExecutionSpecificationItemProvider; + } + + @Override + public Adapter createMessageOccurrenceSpecificationAdapter() { + if (messageOccurrenceSpecificationItemProvider == null) { + messageOccurrenceSpecificationItemProvider = new MessageOccurrenceSpecificationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return messageOccurrenceSpecificationItemProvider; + } + + @Override + public Adapter createCombinedFragmentAdapter() { + if (combinedFragmentItemProvider == null) { + combinedFragmentItemProvider = new CombinedFragmentItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return combinedFragmentItemProvider; + } + + @Override + public Adapter createContinuationAdapter() { + if (continuationItemProvider == null) { + continuationItemProvider = new ContinuationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return continuationItemProvider; + } + + @Override + public Adapter createConsiderIgnoreFragmentAdapter() { + if (considerIgnoreFragmentItemProvider == null) { + considerIgnoreFragmentItemProvider = new ConsiderIgnoreFragmentItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return considerIgnoreFragmentItemProvider; + } + + @Override + public Adapter createCallEventAdapter() { + if (callEventItemProvider == null) { + callEventItemProvider = new CallEventItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return callEventItemProvider; + } + + @Override + public Adapter createChangeEventAdapter() { + if (changeEventItemProvider == null) { + changeEventItemProvider = new ChangeEventItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return changeEventItemProvider; + } + + @Override + public Adapter createSignalEventAdapter() { + if (signalEventItemProvider == null) { + signalEventItemProvider = new SignalEventItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return signalEventItemProvider; + } + + @Override + public Adapter createAnyReceiveEventAdapter() { + if (anyReceiveEventItemProvider == null) { + anyReceiveEventItemProvider = new AnyReceiveEventItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return anyReceiveEventItemProvider; + } + + @Override + public Adapter createCreateObjectActionAdapter() { + if (createObjectActionItemProvider == null) { + createObjectActionItemProvider = new CreateObjectActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return createObjectActionItemProvider; + } + + @Override + public Adapter createDestroyObjectActionAdapter() { + if (destroyObjectActionItemProvider == null) { + destroyObjectActionItemProvider = new DestroyObjectActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return destroyObjectActionItemProvider; + } + + @Override + public Adapter createTestIdentityActionAdapter() { + if (testIdentityActionItemProvider == null) { + testIdentityActionItemProvider = new TestIdentityActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return testIdentityActionItemProvider; + } + + @Override + public Adapter createReadSelfActionAdapter() { + if (readSelfActionItemProvider == null) { + readSelfActionItemProvider = new ReadSelfActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readSelfActionItemProvider; + } + + @Override + public Adapter createReadStructuralFeatureActionAdapter() { + if (readStructuralFeatureActionItemProvider == null) { + readStructuralFeatureActionItemProvider = new ReadStructuralFeatureActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readStructuralFeatureActionItemProvider; + } + + @Override + public Adapter createClearStructuralFeatureActionAdapter() { + if (clearStructuralFeatureActionItemProvider == null) { + clearStructuralFeatureActionItemProvider = new ClearStructuralFeatureActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return clearStructuralFeatureActionItemProvider; + } + + @Override + public Adapter createRemoveStructuralFeatureValueActionAdapter() { + if (removeStructuralFeatureValueActionItemProvider == null) { + removeStructuralFeatureValueActionItemProvider = new RemoveStructuralFeatureValueActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return removeStructuralFeatureValueActionItemProvider; + } + + @Override + public Adapter createAddStructuralFeatureValueActionAdapter() { + if (addStructuralFeatureValueActionItemProvider == null) { + addStructuralFeatureValueActionItemProvider = new AddStructuralFeatureValueActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return addStructuralFeatureValueActionItemProvider; + } + + @Override + public Adapter createLinkEndDataAdapter() { + if (linkEndDataItemProvider == null) { + linkEndDataItemProvider = new LinkEndDataItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return linkEndDataItemProvider; + } + + @Override + public Adapter createQualifierValueAdapter() { + if (qualifierValueItemProvider == null) { + qualifierValueItemProvider = new QualifierValueItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return qualifierValueItemProvider; + } + + @Override + public Adapter createReadLinkActionAdapter() { + if (readLinkActionItemProvider == null) { + readLinkActionItemProvider = new ReadLinkActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readLinkActionItemProvider; + } + + @Override + public Adapter createLinkEndCreationDataAdapter() { + if (linkEndCreationDataItemProvider == null) { + linkEndCreationDataItemProvider = new LinkEndCreationDataItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return linkEndCreationDataItemProvider; + } + + @Override + public Adapter createCreateLinkActionAdapter() { + if (createLinkActionItemProvider == null) { + createLinkActionItemProvider = new CreateLinkActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return createLinkActionItemProvider; + } + + @Override + public Adapter createDestroyLinkActionAdapter() { + if (destroyLinkActionItemProvider == null) { + destroyLinkActionItemProvider = new DestroyLinkActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return destroyLinkActionItemProvider; + } + + @Override + public Adapter createLinkEndDestructionDataAdapter() { + if (linkEndDestructionDataItemProvider == null) { + linkEndDestructionDataItemProvider = new LinkEndDestructionDataItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return linkEndDestructionDataItemProvider; + } + + @Override + public Adapter createClearAssociationActionAdapter() { + if (clearAssociationActionItemProvider == null) { + clearAssociationActionItemProvider = new ClearAssociationActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return clearAssociationActionItemProvider; + } + + @Override + public Adapter createBroadcastSignalActionAdapter() { + if (broadcastSignalActionItemProvider == null) { + broadcastSignalActionItemProvider = new BroadcastSignalActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return broadcastSignalActionItemProvider; + } + + @Override + public Adapter createSendObjectActionAdapter() { + if (sendObjectActionItemProvider == null) { + sendObjectActionItemProvider = new SendObjectActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return sendObjectActionItemProvider; + } + + @Override + public Adapter createValueSpecificationActionAdapter() { + if (valueSpecificationActionItemProvider == null) { + valueSpecificationActionItemProvider = new ValueSpecificationActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return valueSpecificationActionItemProvider; + } + + @Override + public Adapter createTimeExpressionAdapter() { + if (timeExpressionItemProvider == null) { + timeExpressionItemProvider = new TimeExpressionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return timeExpressionItemProvider; + } + + @Override + public Adapter createDurationAdapter() { + if (durationItemProvider == null) { + durationItemProvider = new DurationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return durationItemProvider; + } + + @Override + public Adapter createValuePinAdapter() { + if (valuePinItemProvider == null) { + valuePinItemProvider = new ValuePinItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return valuePinItemProvider; + } + + @Override + public Adapter createDurationIntervalAdapter() { + if (durationIntervalItemProvider == null) { + durationIntervalItemProvider = new DurationIntervalItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return durationIntervalItemProvider; + } + + @Override + public Adapter createIntervalAdapter() { + if (intervalItemProvider == null) { + intervalItemProvider = new IntervalItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return intervalItemProvider; + } + + @Override + public Adapter createTimeConstraintAdapter() { + if (timeConstraintItemProvider == null) { + timeConstraintItemProvider = new TimeConstraintItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return timeConstraintItemProvider; + } + + @Override + public Adapter createIntervalConstraintAdapter() { + if (intervalConstraintItemProvider == null) { + intervalConstraintItemProvider = new IntervalConstraintItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return intervalConstraintItemProvider; + } + + @Override + public Adapter createTimeIntervalAdapter() { + if (timeIntervalItemProvider == null) { + timeIntervalItemProvider = new TimeIntervalItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return timeIntervalItemProvider; + } + + @Override + public Adapter createDurationConstraintAdapter() { + if (durationConstraintItemProvider == null) { + durationConstraintItemProvider = new DurationConstraintItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return durationConstraintItemProvider; + } + + @Override + public Adapter createTimeObservationAdapter() { + if (timeObservationItemProvider == null) { + timeObservationItemProvider = new TimeObservationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return timeObservationItemProvider; + } + + @Override + public Adapter createDurationObservationAdapter() { + if (durationObservationItemProvider == null) { + durationObservationItemProvider = new DurationObservationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return durationObservationItemProvider; + } + + @Override + public Adapter createOpaqueActionAdapter() { + if (opaqueActionItemProvider == null) { + opaqueActionItemProvider = new OpaqueActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return opaqueActionItemProvider; + } + + @Override + public Adapter createSendSignalActionAdapter() { + if (sendSignalActionItemProvider == null) { + sendSignalActionItemProvider = new SendSignalActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return sendSignalActionItemProvider; + } + + @Override + public Adapter createCallOperationActionAdapter() { + if (callOperationActionItemProvider == null) { + callOperationActionItemProvider = new CallOperationActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return callOperationActionItemProvider; + } + + @Override + public Adapter createCallBehaviorActionAdapter() { + if (callBehaviorActionItemProvider == null) { + callBehaviorActionItemProvider = new CallBehaviorActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return callBehaviorActionItemProvider; + } + + @Override + public Adapter createInformationItemAdapter() { + if (informationItemItemProvider == null) { + informationItemItemProvider = new InformationItemItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return informationItemItemProvider; + } + + @Override + public Adapter createInformationFlowAdapter() { + if (informationFlowItemProvider == null) { + informationFlowItemProvider = new InformationFlowItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return informationFlowItemProvider; + } + + @Override + public Adapter createModelAdapter() { + if (modelItemProvider == null) { + modelItemProvider = new ModelItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return modelItemProvider; + } + + @Override + public Adapter createReadVariableActionAdapter() { + if (readVariableActionItemProvider == null) { + readVariableActionItemProvider = new ReadVariableActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readVariableActionItemProvider; + } + + @Override + public Adapter createClearVariableActionAdapter() { + if (clearVariableActionItemProvider == null) { + clearVariableActionItemProvider = new ClearVariableActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return clearVariableActionItemProvider; + } + + @Override + public Adapter createAddVariableValueActionAdapter() { + if (addVariableValueActionItemProvider == null) { + addVariableValueActionItemProvider = new AddVariableValueActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return addVariableValueActionItemProvider; + } + + @Override + public Adapter createRemoveVariableValueActionAdapter() { + if (removeVariableValueActionItemProvider == null) { + removeVariableValueActionItemProvider = new RemoveVariableValueActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return removeVariableValueActionItemProvider; + } + + @Override + public Adapter createRaiseExceptionActionAdapter() { + if (raiseExceptionActionItemProvider == null) { + raiseExceptionActionItemProvider = new RaiseExceptionActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return raiseExceptionActionItemProvider; + } + + @Override + public Adapter createActionInputPinAdapter() { + if (actionInputPinItemProvider == null) { + actionInputPinItemProvider = new ActionInputPinItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return actionInputPinItemProvider; + } + + @Override + public Adapter createReadExtentActionAdapter() { + if (readExtentActionItemProvider == null) { + readExtentActionItemProvider = new ReadExtentActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readExtentActionItemProvider; + } + + @Override + public Adapter createReclassifyObjectActionAdapter() { + if (reclassifyObjectActionItemProvider == null) { + reclassifyObjectActionItemProvider = new ReclassifyObjectActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return reclassifyObjectActionItemProvider; + } + + @Override + public Adapter createReadIsClassifiedObjectActionAdapter() { + if (readIsClassifiedObjectActionItemProvider == null) { + readIsClassifiedObjectActionItemProvider = new ReadIsClassifiedObjectActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readIsClassifiedObjectActionItemProvider; + } + + @Override + public Adapter createStartClassifierBehaviorActionAdapter() { + if (startClassifierBehaviorActionItemProvider == null) { + startClassifierBehaviorActionItemProvider = new StartClassifierBehaviorActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return startClassifierBehaviorActionItemProvider; + } + + @Override + public Adapter createReadLinkObjectEndActionAdapter() { + if (readLinkObjectEndActionItemProvider == null) { + readLinkObjectEndActionItemProvider = new ReadLinkObjectEndActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readLinkObjectEndActionItemProvider; + } + + @Override + public Adapter createReadLinkObjectEndQualifierActionAdapter() { + if (readLinkObjectEndQualifierActionItemProvider == null) { + readLinkObjectEndQualifierActionItemProvider = new ReadLinkObjectEndQualifierActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return readLinkObjectEndQualifierActionItemProvider; + } + + @Override + public Adapter createCreateLinkObjectActionAdapter() { + if (createLinkObjectActionItemProvider == null) { + createLinkObjectActionItemProvider = new CreateLinkObjectActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return createLinkObjectActionItemProvider; + } + + @Override + public Adapter createAcceptEventActionAdapter() { + if (acceptEventActionItemProvider == null) { + acceptEventActionItemProvider = new AcceptEventActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return acceptEventActionItemProvider; + } + + @Override + public Adapter createAcceptCallActionAdapter() { + if (acceptCallActionItemProvider == null) { + acceptCallActionItemProvider = new AcceptCallActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return acceptCallActionItemProvider; + } + + @Override + public Adapter createReplyActionAdapter() { + if (replyActionItemProvider == null) { + replyActionItemProvider = new ReplyActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return replyActionItemProvider; + } + + @Override + public Adapter createUnmarshallActionAdapter() { + if (unmarshallActionItemProvider == null) { + unmarshallActionItemProvider = new UnmarshallActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return unmarshallActionItemProvider; + } + + @Override + public Adapter createReduceActionAdapter() { + if (reduceActionItemProvider == null) { + reduceActionItemProvider = new ReduceActionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return reduceActionItemProvider; + } + + @Override + public Adapter createControlFlowAdapter() { + if (controlFlowItemProvider == null) { + controlFlowItemProvider = new ControlFlowItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return controlFlowItemProvider; + } + + @Override + public Adapter createInitialNodeAdapter() { + if (initialNodeItemProvider == null) { + initialNodeItemProvider = new InitialNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return initialNodeItemProvider; + } + + @Override + public Adapter createActivityParameterNodeAdapter() { + if (activityParameterNodeItemProvider == null) { + activityParameterNodeItemProvider = new ActivityParameterNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return activityParameterNodeItemProvider; + } + + @Override + public Adapter createForkNodeAdapter() { + if (forkNodeItemProvider == null) { + forkNodeItemProvider = new ForkNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return forkNodeItemProvider; + } + + @Override + public Adapter createFlowFinalNodeAdapter() { + if (flowFinalNodeItemProvider == null) { + flowFinalNodeItemProvider = new FlowFinalNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return flowFinalNodeItemProvider; + } + + @Override + public Adapter createCentralBufferNodeAdapter() { + if (centralBufferNodeItemProvider == null) { + centralBufferNodeItemProvider = new CentralBufferNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return centralBufferNodeItemProvider; + } + + @Override + public Adapter createMergeNodeAdapter() { + if (mergeNodeItemProvider == null) { + mergeNodeItemProvider = new MergeNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return mergeNodeItemProvider; + } + + @Override + public Adapter createDecisionNodeAdapter() { + if (decisionNodeItemProvider == null) { + decisionNodeItemProvider = new DecisionNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return decisionNodeItemProvider; + } + + @Override + public Adapter createActivityFinalNodeAdapter() { + if (activityFinalNodeItemProvider == null) { + activityFinalNodeItemProvider = new ActivityFinalNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return activityFinalNodeItemProvider; + } + + @Override + public Adapter createJoinNodeAdapter() { + if (joinNodeItemProvider == null) { + joinNodeItemProvider = new JoinNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return joinNodeItemProvider; + } + + @Override + public Adapter createDataStoreNodeAdapter() { + if (dataStoreNodeItemProvider == null) { + dataStoreNodeItemProvider = new DataStoreNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return dataStoreNodeItemProvider; + } + + @Override + public Adapter createObjectFlowAdapter() { + if (objectFlowItemProvider == null) { + objectFlowItemProvider = new ObjectFlowItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return objectFlowItemProvider; + } + + @Override + public Adapter createSequenceNodeAdapter() { + if (sequenceNodeItemProvider == null) { + sequenceNodeItemProvider = new SequenceNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return sequenceNodeItemProvider; + } + + @Override + public Adapter createConditionalNodeAdapter() { + if (conditionalNodeItemProvider == null) { + conditionalNodeItemProvider = new ConditionalNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return conditionalNodeItemProvider; + } + + @Override + public Adapter createClauseAdapter() { + if (clauseItemProvider == null) { + clauseItemProvider = new ClauseItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return clauseItemProvider; + } + + @Override + public Adapter createLoopNodeAdapter() { + if (loopNodeItemProvider == null) { + loopNodeItemProvider = new LoopNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return loopNodeItemProvider; + } + + @Override + public Adapter createExpansionNodeAdapter() { + if (expansionNodeItemProvider == null) { + expansionNodeItemProvider = new ExpansionNodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return expansionNodeItemProvider; + } + + @Override + public Adapter createExpansionRegionAdapter() { + if (expansionRegionItemProvider == null) { + expansionRegionItemProvider = new ExpansionRegionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return expansionRegionItemProvider; + } + + @Override + public Adapter createComponentRealizationAdapter() { + if (componentRealizationItemProvider == null) { + componentRealizationItemProvider = new ComponentRealizationItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return componentRealizationItemProvider; + } + + @Override + public Adapter createComponentAdapter() { + if (componentItemProvider == null) { + componentItemProvider = new ComponentItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return componentItemProvider; + } + + @Override + public Adapter createNodeAdapter() { + if (nodeItemProvider == null) { + nodeItemProvider = new NodeItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return nodeItemProvider; + } + + @Override + public Adapter createDeviceAdapter() { + if (deviceItemProvider == null) { + deviceItemProvider = new DeviceItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return deviceItemProvider; + } + + @Override + public Adapter createExecutionEnvironmentAdapter() { + if (executionEnvironmentItemProvider == null) { + executionEnvironmentItemProvider = new ExecutionEnvironmentItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return executionEnvironmentItemProvider; + } + + @Override + public Adapter createCommunicationPathAdapter() { + if (communicationPathItemProvider == null) { + communicationPathItemProvider = new CommunicationPathItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return communicationPathItemProvider; + } + + @Override + public Adapter createFinalStateAdapter() { + if (finalStateItemProvider == null) { + finalStateItemProvider = new FinalStateItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return finalStateItemProvider; + } + + @Override + public Adapter createTimeEventAdapter() { + if (timeEventItemProvider == null) { + timeEventItemProvider = new TimeEventItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return timeEventItemProvider; + } + + @Override + public Adapter createProtocolTransitionAdapter() { + if (protocolTransitionItemProvider == null) { + protocolTransitionItemProvider = new ProtocolTransitionItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return protocolTransitionItemProvider; + } + + @Override + public Adapter createAssociationClassAdapter() { + if (associationClassItemProvider == null) { + associationClassItemProvider = new AssociationClassItemProvider(this) { + + @Override + protected StringBuffer appendLabel(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate()); + } + + @Override + protected StringBuffer appendKeywords(final StringBuffer text, final Object object) { + return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate()); + } + }; + } + return associationClassItemProvider; + } + + /** + * This is copied from MiltiplicityElementItemProvider because the initial + * function is protected scoped. + * + * @param text + * The initial string buffer. + * @param object + * The object to manage multiplicity. + * @return The modified string buffer. + */ + protected static StringBuffer appendMultiplicity(final StringBuffer text, final Object object) { + + if (object instanceof MultiplicityElement) { + MultiplicityElement multiplicityElement = (MultiplicityElement) object; + + if (multiplicityElement.eIsSet(UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER) + || multiplicityElement.eIsSet(UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER)) { + + if (0 < text.length()) { + text.append(' '); + } + + int upper = multiplicityElement.getUpper(); + + text.append('[').append(multiplicityElement.getLower()).append("..") //$NON-NLS-1$ + .append(upper == LiteralUnlimitedNatural.UNLIMITED ? "*" : String.valueOf(upper)).append(']'); //$NON-NLS-1$ + } + } + + return text; + } +} diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/utils/InternationalizationElementItemProviderUtils.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/utils/InternationalizationElementItemProviderUtils.java new file mode 100644 index 00000000000..edc9e26d7c2 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/utils/InternationalizationElementItemProviderUtils.java @@ -0,0 +1,130 @@ +/***************************************************************************** + * Copyright (c) 2016 CEA LIST 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: + * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.internationalization.edit.utils; + +import java.util.ArrayList; +import java.util.Iterator; + +import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils; +import org.eclipse.papyrus.uml.internationalization.utils.utils.UMLLabelInternationalization; +import org.eclipse.uml2.common.util.UML2Util; +import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.Stereotype; +import org.eclipse.uml2.uml.edit.providers.ElementItemProvider; +import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory; + +/** + * The appendLabel and appendKeywords inspired from {@link ElementItemProvider} + * and avoid code duplication in the inherited from + * {@link UMLItemProviderAdapterFactory}. + */ +public class InternationalizationElementItemProviderUtils { + + /** + * This allows to append the label if the internationalization preference is set to <code>true</code>. + * + * @param text The initial String buffer. + * @param object The object. + * @param souldTranslate The boolean shouldTranslate. + * @return The modified {@link StringBuffer}. + */ + public static StringBuffer appendLabel(final StringBuffer text, final Object object, final boolean souldTranslate) { + StringBuffer result = text; + if (object instanceof NamedElement) { + if (InternationalizationPreferencesUtils.getInternationalizationPreference((NamedElement) object)) { + result = appendString(text, UMLLabelInternationalization.getInstance().getLabel((NamedElement) object, souldTranslate)); + } else { + result = appendString(text, ((NamedElement) object).getName()); + } + } + return result; + } + + /** + * This allows to append a string to the current {@link StringBuffer}. + * + * @param text The initial {@link StringBuffer}. + * @param string The string to append. + * @return The modified {@link StringBuffer}. + */ + private static StringBuffer appendString(final StringBuffer text, final String string) { + + if (!UML2Util.isEmpty(string)) { + + if (text.length() > 0) { + text.append(' '); // $NON-NLS-1$ + } + + text.append(string); + } + + return text; + } + + /** + * This allows to append the keywords if the internationalization preference is set to <code>true</code>. + * + * @param text The initial String buffer. + * @param object The object. + * @param souldTranslate The boolean shouldTranslate. + * @return The modified {@link StringBuffer}. + */ + public static StringBuffer appendKeywords(final StringBuffer text, final Object object, + final boolean shouldTranslate) { + if (object instanceof Element) { + final Element element = (Element) object; + + final Iterator<Stereotype> appliedStereotypes = element.getAppliedStereotypes().iterator(); + Iterator<String> keywords = new ArrayList<String>().iterator(); + if (InternationalizationPreferencesUtils.getInternationalizationPreference(element)) { + keywords = element.getKeywords().iterator(); + } + + if (appliedStereotypes.hasNext() || keywords.hasNext()) { + + if (text.length() > 0) { + text.append(' '); // $NON-NLS-1$ + } + + text.append("<<"); //$NON-NLS-1$ + + while (appliedStereotypes.hasNext()) { + if (InternationalizationPreferencesUtils.getInternationalizationPreference(element)) { + text.append(UMLLabelInternationalization.getInstance().getKeyword(appliedStereotypes.next(), shouldTranslate)); + } else { + text.append(appliedStereotypes.next().getName()); + } + + if (appliedStereotypes.hasNext() || keywords.hasNext()) { + text.append(", "); //$NON-NLS-1$ + } + } + + while (keywords.hasNext()) { + text.append(keywords.next()); + + if (keywords.hasNext()) { + text.append(", "); //$NON-NLS-1$ + } + } + + text.append(">>"); //$NON-NLS-1$ + } + } + + return text; + } + +} diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.classpath b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.classpath new file mode 100644 index 00000000000..4221242104f --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.project b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.project new file mode 100644 index 00000000000..9031f64a5d4 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.project @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.papyrus.uml.internationalization.utils</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.oomph.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>check.maven.pom</key> + <value>true</value> + </dictionary> + <dictionary> + <key>ignore.lower.bound.dependency.ranges</key> + <value>true</value> + </dictionary> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.papyrus.releng.main.release/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.oomph.version.VersionNature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + </natures> +</projectDescription> diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..0c68a61dca8 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/META-INF/MANIFEST.MF b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..8ff2a5b5e61 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.papyrus.uml.internationalization.utils;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport, + org.eclipse.ui.workbench;bundle-version="[3.108.0,4.0.0)", + org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)", + org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)", + org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)", + org.eclipse.papyrus.infra.internationalization;bundle-version="[1.0.0,2.0.0)", + org.eclipse.papyrus.infra.internationalization.utils;bundle-version="[1.0.0,2.0.0)", + org.eclipse.papyrus.infra.internationalization.common;bundle-version="[1.0.0,2.0.0)" +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.papyrus.uml.internationalization.utils.Activator +Export-Package: org.eclipse.papyrus.uml.internationalization.utils.utils diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/about.html b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/about.html new file mode 100644 index 00000000000..598b3684879 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>May 12, 2008</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/build.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/build.properties new file mode 100644 index 00000000000..2964bc2d7b1 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/build.properties @@ -0,0 +1,11 @@ +# + +bin.includes = .,\ + META-INF/,\ + about.html,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ +src.includes = about.html diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.properties new file mode 100644 index 00000000000..b5d95b55d81 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = Papyrus Internationalization for UML Utils +providerName = Eclipse Modeling Project diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.xml new file mode 100644 index 00000000000..7ac51d15095 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + +</plugin> diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/pom.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/pom.xml new file mode 100644 index 00000000000..324f359c45f --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/pom.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId> + <groupId>org.eclipse.papyrus</groupId> + <version>0.0.1-SNAPSHOT</version> + </parent> + <artifactId>org.eclipse.papyrus.uml.internationalization.utils</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>eclipse-plugin</packaging> +</project>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/Activator.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/Activator.java new file mode 100644 index 00000000000..9611e36f3cf --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/Activator.java @@ -0,0 +1,77 @@ +/***************************************************************************** + * Copyright (c) 2016 CEA LIST 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: + * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.internationalization.utils; + +import org.eclipse.papyrus.infra.core.log.LogHelper; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle. + */ +public class Activator extends AbstractUIPlugin { + + /** + * The plug-in ID. + */ + public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.internationalization.utils"; //$NON-NLS-1$ + + /** + * The shared instance. + */ + private static Activator plugin; + + /** + * The log helper. + */ + public static LogHelper log; + + /** + * The constructor + */ + public Activator() { + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(final BundleContext context) throws Exception { + super.start(context); + plugin = this; + log = new LogHelper(this); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(final BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } +} diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/utils/UMLLabelInternationalization.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/utils/UMLLabelInternationalization.java new file mode 100644 index 00000000000..daa579ae41f --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/utils/UMLLabelInternationalization.java @@ -0,0 +1,227 @@ +/***************************************************************************** + * Copyright (c) 2016 CEA LIST 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: + * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.internationalization.utils.utils; + +import java.util.Locale; + +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils; +import org.eclipse.papyrus.infra.internationalization.utils.utils.LabelInternationalizationUtils; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.Stereotype; + +/** + * The internationalization label manager for UML elements. + */ +public class UMLLabelInternationalization { + + /** + * The singleton instance. + */ + private static UMLLabelInternationalization instance; + + /** + * Constructor. + */ + protected UMLLabelInternationalization() { + + } + + /** + * Get the singleton instance (create it if not existing). + * + * @return The singleton instance. + */ + public static UMLLabelInternationalization getInstance() { + if (null == instance) { + instance = new UMLLabelInternationalization(); + } + return instance; + } + + /** + * This allows to get the label of the named element. + * + * @param namedElement + * The named element. + * @return The label of the named element or the name if the label is null. + */ + public String getLabel(final NamedElement namedElement) { + return getLabel(namedElement, true); + } + + /** + * This allows to get the label of the named element. + * + * @param namedElement + * The named element. + * @param localize + * Boolean to determinate if the locale must be used. + * @return The label of the named element or the name if the label is null. + */ + public String getLabel(final NamedElement namedElement, final boolean localize) { + String result = null; + if (null != namedElement.eResource() && InternationalizationPreferencesUtils.getInternationalizationPreference(namedElement)) { + result = getLabelWithoutUML(namedElement, localize); + } + return null != result ? result : namedElement.getName(); + } + + /** + * This allows to get the label of the named element without the getName + * when the label is null. + * + * @param namedElement + * The named element. + * @return The label of the named element. + */ + public String getLabelWithoutUML(final NamedElement namedElement) { + return getLabelWithoutUML(namedElement, true); + } + + /** + * This allows to get the label of the named element without the getName + * when the label is null. + * + * @param namedElement + * The named element. + * @param localize + * Boolean to determinate if the locale must be used. + * @return The label of the named element. + */ + public String getLabelWithoutUML(final NamedElement namedElement, final boolean localize) { + return LabelInternationalizationUtils.getLabelWithoutSubstract(namedElement, localize); + } + + /** + * This allows to set the named element label. + * + * @param namedElement + * The named element. + * @param value + * The label value. + * @param locale + * The locale for which set the value (if <code>null</code> set + * it for the current locale). + */ + public void setLabel(final NamedElement namedElement, final String value, final Locale locale) { + LabelInternationalizationUtils.setLabel(namedElement, value, locale); + } + + /** + * This allows to get the set named element label command. + * + * @param domain + * The editing domain to use. + * @param namedElement + * The named element. + * @param value + * The value to set. + * @param locale + * The locale for which set the value (if <code>null</code> set + * it for the current locale). + * @return The command which allow to set the named element label. + */ + public Command getSetLabelCommand(final EditingDomain domain, final NamedElement namedElement, final String value, final Locale locale) { + return LabelInternationalizationUtils.getSetLabelCommand(domain, namedElement, value, locale); + } + + /** + * This allows to get the keyword of the stereotype. + * + * @param stereotype + * The stereotype. + * @return The keyword of the stereotype or the name if the keyword is null. + */ + public String getKeyword(final Stereotype stereotype) { + return getKeyword(stereotype, true); + } + + /** + * This allows to get the keyword of the stereotype. + * + * @param stereotype + * The stereotype. + * @param localize + * Boolean to determinate if the locale must be used. + * @return The keyword of the stereotype or the name if the keyword is null. + */ + public String getKeyword(final Stereotype stereotype, final boolean localize) { + String result = null; + if (null != stereotype.eResource() && InternationalizationPreferencesUtils.getInternationalizationPreference(stereotype)) { + result = LabelInternationalizationUtils.getLabelWithoutSubstract(stereotype, localize); + } + return null != result ? result : stereotype.getName(); + } + + /** + * This allows to get the keyword of the stereotype without the getName when + * the keyword is null. + * + * @param stereotype + * The stereotype. + * @return The keyword of the stereotype. + */ + public String getKeywordWithoutUML(final Stereotype stereotype) { + return getKeywordWithoutUML(stereotype, true); + } + + /** + * This allows to get the keyword of the stereotype without the getName when + * the keyword is null. + * + * @param stereotype + * The stereotype. + * @param localize + * Boolean to determinate if the locale must be used. + * @return The keyword of the stereotype. + */ + public String getKeywordWithoutUML(final Stereotype stereotype, final boolean localize) { + return LabelInternationalizationUtils.getLabelWithoutSubstract(stereotype, localize); + } + + /** + * This allows to set the stereotype keyword. + * + * @param stereotype + * The stereotype. + * @param value + * The label value. + * @param locale + * The locale for which set the value (if <code>null</code> set + * it for the current locale). + */ + public void setKeyword(final Stereotype stereotype, final String value, final Locale locale) { + LabelInternationalizationUtils.setLabel(stereotype, value, locale); + } + + /** + * This allows to get the set stereotype keyword command. + * + * @param domain + * The editing domain to use. + * @param stereotype + * The stereotype. + * @param value + * The value to set. + * @param locale + * The locale for which set the value (if <code>null</code> set + * it for the current locale). + * @return The command which allow to set the stereotype keyword. + */ + public Command getSetKeywordCommand(final EditingDomain domain, final Stereotype stereotype, final String value, final Locale locale) { + return LabelInternationalizationUtils.getSetLabelCommand(domain, stereotype, value, locale); + } +} diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.classpath b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.classpath new file mode 100644 index 00000000000..4221242104f --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.project b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.project new file mode 100644 index 00000000000..a3066a51d9f --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.project @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.papyrus.uml.internationalization</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.oomph.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>check.maven.pom</key> + <value>true</value> + </dictionary> + <dictionary> + <key>ignore.lower.bound.dependency.ranges</key> + <value>true</value> + </dictionary> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.papyrus.releng.main.release/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.oomph.version.VersionNature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + </natures> +</projectDescription> diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..0c68a61dca8 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/META-INF/MANIFEST.MF b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..3aad2e96e9c --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/META-INF/MANIFEST.MF @@ -0,0 +1,23 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.papyrus.uml.internationalization;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport, + org.eclipse.ui.workbench;bundle-version="[3.108.0,4.0.0)", + org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)", + org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.internationalization;bundle-version="[1.0.0,2.0.0)", + org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)", + org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)", + org.eclipse.uml2.uml.edit;bundle-version="[5.1.0,6.0.0)", + org.eclipse.papyrus.infra.internationalization.common;bundle-version="[1.0.0,2.0.0)", + org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)", + org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0,2.0.0)" +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.papyrus.uml.internationalization.Activator +Export-Package: org.eclipse.papyrus.uml.internationalization.modelresource diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/about.html b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/about.html new file mode 100644 index 00000000000..598b3684879 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>May 12, 2008</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/build.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/build.properties new file mode 100644 index 00000000000..2964bc2d7b1 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/build.properties @@ -0,0 +1,11 @@ +# + +bin.includes = .,\ + META-INF/,\ + about.html,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ +src.includes = about.html diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.properties new file mode 100644 index 00000000000..df492e7fada --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = Papyrus Internationalization for UML +providerName = Eclipse Modeling Project diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.xml new file mode 100644 index 00000000000..6ff809acfb0 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + + <extension point="org.eclipse.papyrus.infra.core.model"> + <model + classname="org.eclipse.papyrus.uml.internationalization.modelresource.UMLInternationalizationModelResource" + description="Model for Papyrus UML internationalization" + fileExtension="properties" + required="false"> + <modelSnippet + classname="org.eclipse.papyrus.infra.internationalization.modelsnippet.PropertiesAdjunctResourceModelSnippet" + description="Snippet for properties resource of referenced model resources"> + </modelSnippet> + </model> + </extension> +</plugin> diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/pom.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/pom.xml new file mode 100644 index 00000000000..635c98d950d --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/pom.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId> + <groupId>org.eclipse.papyrus</groupId> + <version>0.0.1-SNAPSHOT</version> + </parent> + <artifactId>org.eclipse.papyrus.uml.internationalization</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>eclipse-plugin</packaging> +</project>
\ No newline at end of file diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/Activator.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/Activator.java new file mode 100644 index 00000000000..58a53286ad7 --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/Activator.java @@ -0,0 +1,77 @@ +/***************************************************************************** + * Copyright (c) 2016 CEA LIST 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: + * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.internationalization; + +import org.eclipse.papyrus.infra.core.log.LogHelper; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle. + */ +public class Activator extends AbstractUIPlugin { + + /** + * The plug-in ID. + */ + public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.internationalization"; //$NON-NLS-1$ + + /** + * The shared instance. + */ + private static Activator plugin; + + /** + * The log helper. + */ + public static LogHelper log; + + /** + * The constructor + */ + public Activator() { + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(final BundleContext context) throws Exception { + super.start(context); + plugin = this; + log = new LogHelper(this); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(final BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } +} diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java new file mode 100644 index 00000000000..1a97d84d56b --- /dev/null +++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java @@ -0,0 +1,223 @@ +/***************************************************************************** + * Copyright (c) 2016 CEA LIST 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: + * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.internationalization.modelresource; + +import java.util.List; +import java.util.Locale; + +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper; +import org.eclipse.papyrus.infra.internationalization.InternationalizationEntry; +import org.eclipse.papyrus.infra.internationalization.InternationalizationLibrary; +import org.eclipse.papyrus.infra.internationalization.commands.ResetNameCommand; +import org.eclipse.papyrus.infra.internationalization.commands.ResetNameTransactionalCommand; +import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils; +import org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource; +import org.eclipse.papyrus.uml.tools.utils.NameResolutionUtils; +import org.eclipse.papyrus.uml.tools.utils.NamedElementUtil; +import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.Namespace; +import org.eclipse.uml2.uml.Stereotype; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.resource.UMLResource; + +/** + * This allows to manage the UML internationalization resource. + */ +public class UMLInternationalizationModelResource extends InternationalizationModelResource { + + /** + * The qualified name separator replacement into properties file. + */ + private static final String QUALIFIED_NAME_SEPARATOR_REPLACEMENT = "__"; //$NON-NLS-1$ + + /** + * Constructor. + */ + public UMLInternationalizationModelResource() { + super(); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#loadResource(org.eclipse.emf.common.util.URI, + * java.util.Locale) + */ + @Override + protected Resource loadResource(final URI uri, final Locale locale) { + Resource resource = super.loadResource(uri, locale); + + if (null != resource) { + convertInternationalizationToUMLElements(uri, locale); + } + + return resource; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#createModel(org.eclipse.emf.common.util.URI) + */ + @Override + public void createModel(final URI uriWithoutExtension) { + super.createModel(uriWithoutExtension); + final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension()); + convertInternationalizationToUMLElements(uri, InternationalizationPreferencesUtils.getLocalePreference(uri)); + } + + /** + * This allows to convert the internationalization entries from String to + * UML Named Element managed by their qualified names. + * + * @param uri + * The URI of the properties file with the extension. + * @param locale + * The locale to use. + */ + protected void convertInternationalizationToUMLElements(final URI uri, final Locale locale) { + final Resource resource = getResourceForURIAndLocale(uri, locale); + + if (null != resource && null != resource.getContents() && !resource.getContents().isEmpty()) { + final InternationalizationLibrary library = (InternationalizationLibrary) resource.getContents().get(0); + + for (final InternationalizationEntry entry : library.getEntries()) { + Object key = entry.getKey(); + if (key instanceof String) { + if (((String) key).startsWith(LABEL_PREFIX)) { + key = ((String) key).substring(LABEL_PREFIX.length()); + } + final String qualifiedName = ((String) key).replaceAll(QUALIFIED_NAME_SEPARATOR_REPLACEMENT, + NamedElementUtil.QUALIFIED_NAME_SEPARATOR); // $NON-NLS-1$ + + // TODO: is this the good way to get the named elements by + // qualified names? + final Resource umlResource = modelSet + .getResource(uri.trimFileExtension().appendFileExtension(UMLResource.FILE_EXTENSION), true); + if (null != umlResource && null != umlResource.getContents() + && !umlResource.getContents().isEmpty()) { + final List<NamedElement> elements = NameResolutionUtils.getNamedElements(qualifiedName, + ((Element) umlResource.getContents().get(0)), null); + + if (!elements.isEmpty() && 1 == elements.size()) { + final NamedElement umlElement = elements.get(0); + entry.setKey(umlElement); + addModifiedAdapter(umlElement, resource); + } + } + } + } + + resource.setModified(false); + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#getSetNameValueCommand(org.eclipse.emf.edit.domain.EditingDomain, + * org.eclipse.emf.ecore.EObject) + */ + @Override + protected Command getSetNameValueCommand(final EditingDomain domain, final EObject eObject) { + Command result = null; + + // Change name for named element + if (eObject instanceof NamedElement) { + if (domain instanceof TransactionalEditingDomain) { + result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand( + (TransactionalEditingDomain) domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name())); + } else { + result = new ResetNameCommand(domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name()); + } + } else { + result = super.getSetNameValueCommand(domain, eObject); + } + + return result; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#setNameValue(org.eclipse.emf.ecore.EObject) + */ + @Override + protected void setNameValue(final EObject eObject) { + + // Change name for named element + if (eObject instanceof NamedElement) { + String oldName = ((NamedElement) eObject).getName(); + ((NamedElement) eObject).setName(null); + ((NamedElement) eObject).setName(oldName); + } else { + super.setNameValue(eObject); + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#getKey(org.eclipse.papyrus.infra.internationalization.InternationalizationEntry) + */ + @Override + protected String getKey(final InternationalizationEntry entry) { + final StringBuilder stringBuilder = new StringBuilder(); + if (entry.getKey() instanceof NamedElement) { + + if (!(entry.getKey() instanceof Stereotype)) { + stringBuilder.append(LABEL_PREFIX); + } + + Resource umlResource = ((NamedElement) entry.getKey()).eResource(); + + Namespace superElementInSameResource = null; + + if (null != umlResource) { + for (final EObject eObjectContent : umlResource.getContents()) { + if (eObjectContent instanceof Namespace + && EcoreUtil.isAncestor(eObjectContent, (NamedElement) entry.getKey())) { + superElementInSameResource = (Namespace) eObjectContent; + } + } + } + + // Use the shortest qualified name for the control mode if needed + boolean shortestQualifiedNameUsed = false; + + if (superElementInSameResource.eContainer() != null) { + List<String> shortestQualifiedNames = NameResolutionUtils.getShortestQualifiedNames( + (NamedElement) entry.getKey(), (Namespace) superElementInSameResource.eContainer(), false); + if (!shortestQualifiedNames.isEmpty()) { + stringBuilder.append(shortestQualifiedNames.get(0).replaceAll( + NamedElementUtil.QUALIFIED_NAME_SEPARATOR, QUALIFIED_NAME_SEPARATOR_REPLACEMENT)); + shortestQualifiedNameUsed = true; + } + } + if (!shortestQualifiedNameUsed) { + stringBuilder.append(((NamedElement) entry.getKey()).getQualifiedName() + .replaceAll(NamedElementUtil.QUALIFIED_NAME_SEPARATOR, QUALIFIED_NAME_SEPARATOR_REPLACEMENT)); + } + } + return 0 != stringBuilder.length() ? stringBuilder.toString() : super.getKey(entry); + } +}
\ No newline at end of file diff --git a/plugins/uml/internationalization/pom.xml b/plugins/uml/internationalization/pom.xml new file mode 100644 index 00000000000..b6161ff5716 --- /dev/null +++ b/plugins/uml/internationalization/pom.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>org.eclipse.papyrus.uml</artifactId> + <groupId>org.eclipse.papyrus</groupId> + <version>0.0.1-SNAPSHOT</version> + </parent> + <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>pom</packaging> + <name>Papyrus UML Internationalization</name> + <description>Papyrus Internationalization for UML..</description> + + <modules> + <module>org.eclipse.papyrus.uml.internationalization</module> + <module>org.eclipse.papyrus.uml.internationalization.edit</module> + <module>org.eclipse.papyrus.uml.internationalization.utils</module> + </modules> + +</project>
\ No newline at end of file |