Bug 552034: [Model2Doc] The framework must provide a way to create a paragraph from an stereotype property (typed with EString or with another type)
Change-Id: I30518cdbae5a5272a1e189ad09c60819fa95f752
Signed-off-by: Vincent Lorenzo <vincent.lorenzo@cea.fr>
Signed-off-by: Pauline DEVILLE <pauline.deville@cea.fr>
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/customIcons/full/obj16/StereotypePropertyAttributeAsParagraph.gif b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/customIcons/full/obj16/StereotypePropertyAttributeAsParagraph.gif
new file mode 100755
index 0000000..cba23d5
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/customIcons/full/obj16/StereotypePropertyAttributeAsParagraph.gif
Binary files differ
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/icons/full/obj16/StereotypePropertyAttributeAsParagraph.gif b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/icons/full/obj16/StereotypePropertyAttributeAsParagraph.gif
new file mode 100755
index 0000000..cba23d5
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/icons/full/obj16/StereotypePropertyAttributeAsParagraph.gif
Binary files differ
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/plugin.properties b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/plugin.properties
index 3aa2ba5..6c2b10b 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/plugin.properties
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/plugin.properties
@@ -48,3 +48,4 @@
_UI_StereotypeFilterBehavior_STEREOTYPE_KIND_OF_literal = STEREOTYPE_KIND_OF
_UI_CommentChoice_FIRST_OWNED_COMMENT_literal = FIRST_OWNED_COMMENT
_UI_CommentChoice_ALL_OWNED_COMMENTS_literal = ALL_OWNED_COMMENTS
+_UI_StereotypePropertyAttributeAsParagraph_type = Stereotype Property Attribute As Paragraph
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java
index 27f42d1..d644b54 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java
@@ -276,6 +276,9 @@
UMLDocumentStructureTemplateFactory.eINSTANCE.createStereotypePropertyReferenceTableView()));
newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.ICOMPOSED_SUB_BODY_PART_TEMPLATE__BODY_PART_TEMPLATE,
+ UMLDocumentStructureTemplateFactory.eINSTANCE.createStereotypePropertyAttributeAsParagraph()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.ICOMPOSED_SUB_BODY_PART_TEMPLATE__BODY_PART_TEMPLATE,
DocumentStructureTemplateFactory.eINSTANCE.createEReferencePartTemplate()));
newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.ICOMPOSED_SUB_BODY_PART_TEMPLATE__BODY_PART_TEMPLATE,
@@ -286,6 +289,9 @@
newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.ICOMPOSED_SUB_BODY_PART_TEMPLATE__BODY_PART_TEMPLATE,
DocumentStructureTemplateFactory.eINSTANCE.createInsertFileTemplate()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.ICOMPOSED_SUB_BODY_PART_TEMPLATE__BODY_PART_TEMPLATE,
+ DocumentStructureTemplateFactory.eINSTANCE.createEAttributeAsParagraph()));
}
}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyAttributeAsParagraphItemProvider.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyAttributeAsParagraphItemProvider.java
new file mode 100755
index 0000000..c5540b5
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyAttributeAsParagraphItemProvider.java
@@ -0,0 +1,267 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.infra.emf.expressions.booleanexpressions.BooleanExpressionsFactory;
+
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
+
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class StereotypePropertyAttributeAsParagraphItemProvider extends StereotypePropertyTemplateItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StereotypePropertyAttributeAsParagraphItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addGeneratePropertyDescriptor(object);
+ addGenerateTitlePropertyDescriptor(object);
+ addCustomTitlePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Generate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGeneratePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_IBodySectionPartTemplate_generate_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generate_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Generate Title feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGenerateTitlePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_IBodySectionPartTemplate_generateTitle_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateTitle_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_TITLE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Custom Title feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addCustomTitlePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_IBodySectionPartTemplate_customTitle_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_customTitle_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns StereotypePropertyAttributeAsParagraph.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StereotypePropertyAttributeAsParagraph")); //$NON-NLS-1$
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((StereotypePropertyAttributeAsParagraph) object).getStereotypeQualifiedName();
+ return label == null || label.length() == 0 ? getString("_UI_StereotypePropertyAttributeAsParagraph_type") : //$NON-NLS-1$
+ getString("_UI_StereotypePropertyAttributeAsParagraph_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(StereotypePropertyAttributeAsParagraph.class)) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE:
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION,
+ BooleanExpressionsFactory.eINSTANCE.createOrExpression()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION,
+ BooleanExpressionsFactory.eINSTANCE.createAndExpression()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION,
+ BooleanExpressionsFactory.eINSTANCE.createNotExpression()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION,
+ BooleanExpressionsFactory.eINSTANCE.createLiteralTrueExpression()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION,
+ BooleanExpressionsFactory.eINSTANCE.createLiteralFalseExpression()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION,
+ BooleanExpressionsFactory.eINSTANCE.createReferenceBooleanExpression()));
+
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION,
+ BooleanExpressionsFactory.eINSTANCE.createSingleEAttributeValueEqualityExpression()));
+ }
+
+}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateItemProviderAdapterFactory.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateItemProviderAdapterFactory.java
index 99149fc..dc36f20 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateItemProviderAdapterFactory.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateItemProviderAdapterFactory.java
@@ -322,6 +322,31 @@
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StereotypePropertyAttributeAsParagraphItemProvider stereotypePropertyAttributeAsParagraphItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createStereotypePropertyAttributeAsParagraphAdapter() {
+ if (stereotypePropertyAttributeAsParagraphItemProvider == null) {
+ stereotypePropertyAttributeAsParagraphItemProvider = new StereotypePropertyAttributeAsParagraphItemProvider(this);
+ }
+
+ return stereotypePropertyAttributeAsParagraphItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -491,6 +516,9 @@
if (stereotypePropertyAttributeListItemTemplateItemProvider != null) {
stereotypePropertyAttributeListItemTemplateItemProvider.dispose();
}
+ if (stereotypePropertyAttributeAsParagraphItemProvider != null) {
+ stereotypePropertyAttributeAsParagraphItemProvider.dispose();
+ }
}
/**
@@ -556,6 +584,9 @@
newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.BODY__BODY_PART_TEMPLATE,
UMLDocumentStructureTemplateFactory.eINSTANCE.createStereotypePropertyReferenceTableView()));
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.BODY__BODY_PART_TEMPLATE,
+ UMLDocumentStructureTemplateFactory.eINSTANCE.createStereotypePropertyAttributeAsParagraph()));
+
return null;
}
@@ -590,6 +621,9 @@
newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.ICOMPOSED_SUB_BODY_PART_TEMPLATE__BODY_PART_TEMPLATE,
UMLDocumentStructureTemplateFactory.eINSTANCE.createStereotypePropertyReferenceTableView()));
+ newChildDescriptors.add(createChildParameter(DocumentStructureTemplatePackage.Literals.ICOMPOSED_SUB_BODY_PART_TEMPLATE__BODY_PART_TEMPLATE,
+ UMLDocumentStructureTemplateFactory.eINSTANCE.createStereotypePropertyAttributeAsParagraph()));
+
return null;
}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.ecore b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.ecore
index dc1c824..aa46345 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.ecore
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.ecore
@@ -294,4 +294,6 @@
<details key="documentation" value="This interface is used to indicate that the referenced property must be an attribute (a primitive type)"/>
</eAnnotations>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypePropertyAttributeAsParagraph"
+ eSuperTypes="#//StereotypePropertyTemplate #//StereotypePropertyAttribute ../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.ecore#//ILeafBodyPartTemplate ../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.ecore#//ITemplatePartView #//IUMLBodyPartTemplateTitle"/>
</ecore:EPackage>
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel
index 0f78f21..da2776a 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel
@@ -104,5 +104,6 @@
labelFeature="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate/IListItemTemplate/customItemLabel"/>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="umldocumentstructuretemplate.ecore#//StereotypePropertyAttributeListItemTemplate"/>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="umldocumentstructuretemplate.ecore#//StereotypePropertyAttribute"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="umldocumentstructuretemplate.ecore#//StereotypePropertyAttributeAsParagraph"/>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.notation b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.notation
index 3351d42..daa70fc 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.notation
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.notation
@@ -1779,4 +1779,256 @@
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7XO-gYhpEem3iKDIkTXRuw" id="(0.5857740585774058,1.0)"/>
</edges>
</notation:Diagram>
+ <notation:Diagram xmi:id="_RHZDEKZaEeqPB-5uC46uFQ" type="PapyrusUMLClassDiagram" name="StereotypePropertyAsComment" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_UIrp0KZaEeqPB-5uC46uFQ" type="Interface_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_UIuGEKZaEeqPB-5uC46uFQ" type="Interface_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_UIutIKZaEeqPB-5uC46uFQ" type="Interface_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_UIutIaZaEeqPB-5uC46uFQ" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UIutIqZaEeqPB-5uC46uFQ" type="Interface_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UIutI6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UIutJKZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UIutJaZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UIutJqZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UIutJ6ZaEeqPB-5uC46uFQ" type="Interface_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UIutKKZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UIutKaZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UIutKqZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UIutK6ZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UIutLKZaEeqPB-5uC46uFQ" type="Interface_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UIutLaZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UIutLqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UIutL6ZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UIutMKZaEeqPB-5uC46uFQ"/>
+ </children>
+ <element xmi:type="uml:Interface" href="umldocumentstructuretemplate.uml#_5enekIg-EemnhdxpIjxH_A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UIrp0aZaEeqPB-5uC46uFQ" x="760" y="40" width="241" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_UwURkKZaEeqPB-5uC46uFQ" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_UwU4oKZaEeqPB-5uC46uFQ" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_UwU4oaZaEeqPB-5uC46uFQ" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_UwU4oqZaEeqPB-5uC46uFQ" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UwU4o6ZaEeqPB-5uC46uFQ" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UwU4pKZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UwU4paZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UwU4pqZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwU4p6ZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UwVfsKZaEeqPB-5uC46uFQ" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UwVfsaZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UwVfsqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UwVfs6ZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwVftKZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UwVftaZaEeqPB-5uC46uFQ" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UwVftqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UwVft6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UwVfuKZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwVfuaZaEeqPB-5uC46uFQ"/>
+ </children>
+ <element xmi:type="uml:Class" href="umldocumentstructuretemplate.uml#_UwMVwKZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwURkaZaEeqPB-5uC46uFQ" x="40" y="300" width="361"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_aahbUKZaEeqPB-5uC46uFQ" type="Interface_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_aahbUqZaEeqPB-5uC46uFQ" type="Interface_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_aahbU6ZaEeqPB-5uC46uFQ" type="Interface_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aahbVKZaEeqPB-5uC46uFQ" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_aahbVaZaEeqPB-5uC46uFQ" type="Interface_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_aahbVqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aahbV6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aahbWKZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aahbWaZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_aahbWqZaEeqPB-5uC46uFQ" type="Interface_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_aahbW6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aahbXKZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aahbXaZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aahbXqZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_aahbX6ZaEeqPB-5uC46uFQ" type="Interface_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_aahbYKZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aahbYaZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aahbYqZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aahbY6ZaEeqPB-5uC46uFQ"/>
+ </children>
+ <element xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aahbUaZaEeqPB-5uC46uFQ" x="1060" y="40" width="241" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_cvcrUKZaEeqPB-5uC46uFQ" type="Interface_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_cvcrUqZaEeqPB-5uC46uFQ" type="Interface_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cvcrU6ZaEeqPB-5uC46uFQ" type="Interface_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cvcrVKZaEeqPB-5uC46uFQ" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cvdSYKZaEeqPB-5uC46uFQ" type="Interface_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cvdSYaZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cvdSYqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cvdSY6ZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cvdSZKZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cvdSZaZaEeqPB-5uC46uFQ" type="Interface_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cvdSZqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cvdSZ6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cvdSaKZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cvdSaaZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cvdSaqZaEeqPB-5uC46uFQ" type="Interface_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cvdSa6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cvdSbKZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cvdSbaZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cvdSbqZaEeqPB-5uC46uFQ"/>
+ </children>
+ <element xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cvcrUaZaEeqPB-5uC46uFQ" x="1360" y="40" width="241" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_iUCVQKZaEeqPB-5uC46uFQ" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_iUCVQqZaEeqPB-5uC46uFQ" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_iUCVQ6ZaEeqPB-5uC46uFQ" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iUCVRKZaEeqPB-5uC46uFQ" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_iUC8UKZaEeqPB-5uC46uFQ" type="Class_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_mDsd4KZaEeqPB-5uC46uFQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="umldocumentstructuretemplate.uml#_t7lpUHhxEemgVsD3DibuHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mDsd4aZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mDtE8KZaEeqPB-5uC46uFQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="umldocumentstructuretemplate.uml#_iVeCIHhuEem9G7r-_dimjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mDtE8aZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mDtE8qZaEeqPB-5uC46uFQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="umldocumentstructuretemplate.uml#_iVkIwHhuEem9G7r-_dimjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mDtE86ZaEeqPB-5uC46uFQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_iUC8UaZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_iUC8UqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_iUC8U6ZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iUC8VKZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_iUC8VaZaEeqPB-5uC46uFQ" type="Class_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_mDtsAKZaEeqPB-5uC46uFQ" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="umldocumentstructuretemplate.uml#_2_vKYHhxEemgVsD3DibuHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mDtsAaZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mDtsAqZaEeqPB-5uC46uFQ" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="umldocumentstructuretemplate.uml#_lHPmMHhuEem9G7r-_dimjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mDtsA6ZaEeqPB-5uC46uFQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_iUC8VqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_iUC8V6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_iUC8WKZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iUC8WaZaEeqPB-5uC46uFQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_iUC8WqZaEeqPB-5uC46uFQ" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_iUC8W6ZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_iUC8XKZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_iUC8XaZaEeqPB-5uC46uFQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iUC8XqZaEeqPB-5uC46uFQ"/>
+ </children>
+ <element xmi:type="uml:Class" href="umldocumentstructuretemplate.uml#_awbcAHhxEemgVsD3DibuHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iUCVQaZaEeqPB-5uC46uFQ" x="40" y="40" width="361" height="181"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_rsS2YKZgEeqrit3XiCSzDw" type="Interface_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_rsY9AKZgEeqrit3XiCSzDw" type="Interface_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_rsZkEKZgEeqrit3XiCSzDw" type="Interface_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rsZkEaZgEeqrit3XiCSzDw" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rsaLIKZgEeqrit3XiCSzDw" type="Interface_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_rsaLIaZgEeqrit3XiCSzDw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rsaLIqZgEeqrit3XiCSzDw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rsaLI6ZgEeqrit3XiCSzDw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsaLJKZgEeqrit3XiCSzDw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rsaLJaZgEeqrit3XiCSzDw" type="Interface_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_rsaLJqZgEeqrit3XiCSzDw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rsaLJ6ZgEeqrit3XiCSzDw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rsaLKKZgEeqrit3XiCSzDw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsaLKaZgEeqrit3XiCSzDw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rsayMKZgEeqrit3XiCSzDw" type="Interface_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_rsayMaZgEeqrit3XiCSzDw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rsayMqZgEeqrit3XiCSzDw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rsayM6ZgEeqrit3XiCSzDw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsayNKZgEeqrit3XiCSzDw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="umldocumentstructuretemplate.uml#_u5PwMHfIEemZAtnyL46QZg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsS2YaZgEeqrit3XiCSzDw" x="460" y="40" width="241" height="121"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_RHZDEaZaEeqPB-5uC46uFQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_RHZDEqZaEeqPB-5uC46uFQ"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_RHZDE6ZaEeqPB-5uC46uFQ" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
+ <owner xmi:type="uml:Model" href="umldocumentstructuretemplate.uml#_sha7EB8REem9r6zmWAQv1w"/>
+ </styles>
+ <element xmi:type="uml:Model" href="umldocumentstructuretemplate.uml#_sha7EB8REem9r6zmWAQv1w"/>
+ <edges xmi:type="notation:Connector" xmi:id="_s4RJAKZaEeqPB-5uC46uFQ" type="Generalization_Edge" source="_UwURkKZaEeqPB-5uC46uFQ" target="_iUCVQKZaEeqPB-5uC46uFQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_s4RJA6ZaEeqPB-5uC46uFQ" type="Generalization_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_s4RJBKZaEeqPB-5uC46uFQ" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_s4RJAaZaEeqPB-5uC46uFQ"/>
+ <element xmi:type="uml:Generalization" href="umldocumentstructuretemplate.uml#_s4BRYKZaEeqPB-5uC46uFQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s4RJAqZaEeqPB-5uC46uFQ" points="[220, 300, -643984, -643984]$[220, 221, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4tN4KZaEeqPB-5uC46uFQ" id="(0.4986149584487535,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s4tN4aZaEeqPB-5uC46uFQ" id="(0.4986149584487535,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_t5umAKZaEeqPB-5uC46uFQ" type="InterfaceRealization_Edge" source="_UwURkKZaEeqPB-5uC46uFQ" target="_UIrp0KZaEeqPB-5uC46uFQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_t5umA6ZaEeqPB-5uC46uFQ" type="InterfaceRealization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xkdjoKZgEeqrit3XiCSzDw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_t5umBKZaEeqPB-5uC46uFQ" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_t5umBaZaEeqPB-5uC46uFQ" type="InterfaceRealization_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xkrmEKZgEeqrit3XiCSzDw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_t5umBqZaEeqPB-5uC46uFQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_t5umAaZaEeqPB-5uC46uFQ"/>
+ <element xmi:type="uml:InterfaceRealization" href="umldocumentstructuretemplate.uml#_t5LzcKZaEeqPB-5uC46uFQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_t5umAqZaEeqPB-5uC46uFQ" points="[401, 340, -643984, -643984]$[580, 340, -643984, -643984]$[580, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t6FLUKZaEeqPB-5uC46uFQ" id="(1.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t6FyYKZaEeqPB-5uC46uFQ" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_uoctMKZaEeqPB-5uC46uFQ" type="InterfaceRealization_Edge" source="_UwURkKZaEeqPB-5uC46uFQ" target="_aahbUKZaEeqPB-5uC46uFQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uoctM6ZaEeqPB-5uC46uFQ" type="InterfaceRealization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xjy1QKZgEeqrit3XiCSzDw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uoctNKZaEeqPB-5uC46uFQ" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_uoctNaZaEeqPB-5uC46uFQ" type="InterfaceRealization_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xkDT8KZgEeqrit3XiCSzDw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uoctNqZaEeqPB-5uC46uFQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_uoctMaZaEeqPB-5uC46uFQ"/>
+ <element xmi:type="uml:InterfaceRealization" href="umldocumentstructuretemplate.uml#_uoPR0KZaEeqPB-5uC46uFQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uoctMqZaEeqPB-5uC46uFQ" points="[401, 340, -643984, -643984]$[880, 340, -643984, -643984]$[880, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uoyrcKZaEeqPB-5uC46uFQ" id="(1.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uoyrcaZaEeqPB-5uC46uFQ" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_vQrx4KZaEeqPB-5uC46uFQ" type="InterfaceRealization_Edge" source="_UwURkKZaEeqPB-5uC46uFQ" target="_cvcrUKZaEeqPB-5uC46uFQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_vQsY8qZaEeqPB-5uC46uFQ" type="InterfaceRealization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xk_IEKZgEeqrit3XiCSzDw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vQsY86ZaEeqPB-5uC46uFQ" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vQsY9KZaEeqPB-5uC46uFQ" type="InterfaceRealization_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xlMjcKZgEeqrit3XiCSzDw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vQsY9aZaEeqPB-5uC46uFQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vQsY8KZaEeqPB-5uC46uFQ"/>
+ <element xmi:type="uml:InterfaceRealization" href="umldocumentstructuretemplate.uml#_vQe9kKZaEeqPB-5uC46uFQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vQsY8aZaEeqPB-5uC46uFQ" points="[401, 340, -643984, -643984]$[1180, 340, -643984, -643984]$[1180, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vRId0KZaEeqPB-5uC46uFQ" id="(1.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vRId0aZaEeqPB-5uC46uFQ" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0UpMQKZgEeqrit3XiCSzDw" type="InterfaceRealization_Edge" source="_UwURkKZaEeqPB-5uC46uFQ" target="_rsS2YKZgEeqrit3XiCSzDw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0UpzUKZgEeqrit3XiCSzDw" type="InterfaceRealization_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0UpzUaZgEeqrit3XiCSzDw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0UpzUqZgEeqrit3XiCSzDw" type="InterfaceRealization_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0UpzU6ZgEeqrit3XiCSzDw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0UpMQaZgEeqrit3XiCSzDw"/>
+ <element xmi:type="uml:InterfaceRealization" href="umldocumentstructuretemplate.uml#_0URY0KZgEeqrit3XiCSzDw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0UpMQqZgEeqrit3XiCSzDw" points="[401, 340, -643984, -643984]$[580, 155, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0VL-0KZgEeqrit3XiCSzDw" id="(1.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0VMl4KZgEeqrit3XiCSzDw" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ </notation:Diagram>
</xmi:XMI>
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.uml b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.uml
index 09d6e96..b1ee173 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.uml
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.uml
@@ -442,6 +442,19 @@
<redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_jwuUgHxmEem8DZ1bmLpXuQ"/>
</ownedOperation>
</packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_UwMVwKZaEeqPB-5uC46uFQ" name="StereotypePropertyAttributeAsParagraph">
+ <generalization xmi:type="uml:Generalization" xmi:id="_s4BRYKZaEeqPB-5uC46uFQ" general="_awbcAHhxEemgVsD3DibuHQ"/>
+ <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_t5LzcKZaEeqPB-5uC46uFQ" client="_UwMVwKZaEeqPB-5uC46uFQ" supplier="_5enekIg-EemnhdxpIjxH_A" contract="_5enekIg-EemnhdxpIjxH_A"/>
+ <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_uoPR0KZaEeqPB-5uC46uFQ" client="_UwMVwKZaEeqPB-5uC46uFQ">
+ <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
+ <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
+ </interfaceRealization>
+ <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_vQe9kKZaEeqPB-5uC46uFQ" client="_UwMVwKZaEeqPB-5uC46uFQ">
+ <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
+ <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
+ </interfaceRealization>
+ <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_0URY0KZgEeqrit3XiCSzDw" client="_UwMVwKZaEeqPB-5uC46uFQ" supplier="_u5PwMHfIEemZAtnyL46QZg" contract="_u5PwMHfIEemZAtnyL46QZg"/>
+ </packagedElement>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_x6veQB8TEemcGrhwCFVIGw">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x6wsYB8TEemcGrhwCFVIGw" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/StereotypePropertyAttributeAsParagraph.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/StereotypePropertyAttributeAsParagraph.java
new file mode 100755
index 0000000..2d5119f
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/StereotypePropertyAttributeAsParagraph.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.model2doc.uml.documentstructuretemplate;
+
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ILeafBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ITemplatePartView;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stereotype Property Attribute As Paragraph</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage#getStereotypePropertyAttributeAsParagraph()
+ * @model
+ * @generated
+ */
+public interface StereotypePropertyAttributeAsParagraph extends StereotypePropertyTemplate, StereotypePropertyAttribute, ILeafBodyPartTemplate, ITemplatePartView, IUMLBodyPartTemplateTitle {
+} // StereotypePropertyAttributeAsParagraph
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplateFactory.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplateFactory.java
index a5f632d..7736cba 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplateFactory.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplateFactory.java
@@ -115,6 +115,16 @@
StereotypePropertyAttributeListItemTemplate createStereotypePropertyAttributeListItemTemplate();
/**
+ * Returns a new object of class '<em>Stereotype Property Attribute As Paragraph</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Stereotype Property Attribute As Paragraph</em>'.
+ * @generated
+ */
+ StereotypePropertyAttributeAsParagraph createStereotypePropertyAttributeAsParagraph();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java
index af0a3fd..0c41eee 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java
@@ -1905,6 +1905,147 @@
int STEREOTYPE_PROPERTY_ATTRIBUTE_OPERATION_COUNT = 0;
/**
+ * The meta object id for the '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl <em>Stereotype Property Attribute As Paragraph</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl
+ * @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.UMLDocumentStructureTemplatePackageImpl#getStereotypePropertyAttributeAsParagraph()
+ * @generated
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH = 18;
+
+ /**
+ * The feature id for the '<em><b>Stereotype Filter Rule</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__STEREOTYPE_FILTER_RULE = STEREOTYPE_PROPERTY_TEMPLATE__STEREOTYPE_FILTER_RULE;
+
+ /**
+ * The feature id for the '<em><b>Stereotype Qualified Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__STEREOTYPE_QUALIFIED_NAME = STEREOTYPE_PROPERTY_TEMPLATE__STEREOTYPE_QUALIFIED_NAME;
+
+ /**
+ * The feature id for the '<em><b>Property Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__PROPERTY_NAME = STEREOTYPE_PROPERTY_TEMPLATE__PROPERTY_NAME;
+
+ /**
+ * The feature id for the '<em><b>Generate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Generate Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Custom Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Generate Branch Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Stereotype Property Attribute As Paragraph</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH_FEATURE_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Get First Matching Stereotype Application</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___GET_FIRST_MATCHING_STEREOTYPE_APPLICATION__EOBJECT = STEREOTYPE_PROPERTY_TEMPLATE___GET_FIRST_MATCHING_STEREOTYPE_APPLICATION__EOBJECT;
+
+ /**
+ * The operation id for the '<em>Get Stereotype Property Values</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___GET_STEREOTYPE_PROPERTY_VALUES__EOBJECT = STEREOTYPE_PROPERTY_TEMPLATE___GET_STEREOTYPE_PROPERTY_VALUES__EOBJECT;
+
+ /**
+ * The operation id for the '<em>Build Part Template Title</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___BUILD_PART_TEMPLATE_TITLE__EOBJECT = STEREOTYPE_PROPERTY_TEMPLATE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Generate Branch</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___GENERATE_BRANCH__EOBJECT = STEREOTYPE_PROPERTY_TEMPLATE_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Stereotype Property Attribute As Paragraph</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH_OPERATION_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_OPERATION_COUNT + 2;
+
+ /**
* The meta object id for the '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypeFilterBehavior <em>Stereotype Filter Behavior</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1913,7 +2054,7 @@
* @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.UMLDocumentStructureTemplatePackageImpl#getStereotypeFilterBehavior()
* @generated
*/
- int STEREOTYPE_FILTER_BEHAVIOR = 18;
+ int STEREOTYPE_FILTER_BEHAVIOR = 19;
/**
* The meta object id for the '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.CommentChoice <em>Comment Choice</em>}' enum.
@@ -1924,7 +2065,7 @@
* @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.UMLDocumentStructureTemplatePackageImpl#getCommentChoice()
* @generated
*/
- int COMMENT_CHOICE = 19;
+ int COMMENT_CHOICE = 20;
/**
@@ -2231,6 +2372,17 @@
EClass getStereotypePropertyAttribute();
/**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph <em>Stereotype Property Attribute As Paragraph</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Stereotype Property Attribute As Paragraph</em>'.
+ * @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph
+ * @generated
+ */
+ EClass getStereotypePropertyAttributeAsParagraph();
+
+ /**
* Returns the meta object for enum '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypeFilterBehavior <em>Stereotype Filter Behavior</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2557,6 +2709,17 @@
EClass STEREOTYPE_PROPERTY_ATTRIBUTE = eINSTANCE.getStereotypePropertyAttribute();
/**
+ * The meta object literal for the '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl <em>Stereotype Property Attribute As Paragraph</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl
+ * @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.UMLDocumentStructureTemplatePackageImpl#getStereotypePropertyAttributeAsParagraph()
+ * @generated
+ */
+ EClass STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH = eINSTANCE.getStereotypePropertyAttributeAsParagraph();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypeFilterBehavior <em>Stereotype Filter Behavior</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyAttributeAsParagraphImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyAttributeAsParagraphImpl.java
new file mode 100755
index 0000000..3f27618
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyAttributeAsParagraphImpl.java
@@ -0,0 +1,628 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.emf.expressions.booleanexpressions.IBooleanEObjectExpression;
+
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ILeafBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ITemplatePartView;
+
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.IUMLBodyPartTemplateTitle;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttribute;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotype Property Attribute As Paragraph</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#isGenerate <em>Generate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#isGenerateTitle <em>Generate Title</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#getCustomTitle <em>Custom Title</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StereotypePropertyAttributeAsParagraphImpl extends StereotypePropertyTemplateImpl implements StereotypePropertyAttributeAsParagraph {
+ /**
+ * The default value of the '{@link #isGenerate() <em>Generate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isGenerate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean GENERATE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isGenerate() <em>Generate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isGenerate()
+ * @generated
+ * @ordered
+ */
+ protected boolean generate = GENERATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isGenerateTitle() <em>Generate Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isGenerateTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean GENERATE_TITLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isGenerateTitle() <em>Generate Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isGenerateTitle()
+ * @generated
+ * @ordered
+ */
+ protected boolean generateTitle = GENERATE_TITLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCustomTitle() <em>Custom Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getCustomTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final String CUSTOM_TITLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCustomTitle() <em>Custom Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getCustomTitle()
+ * @generated
+ * @ordered
+ */
+ protected String customTitle = CUSTOM_TITLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getGenerateBranchCondition() <em>Generate Branch Condition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getGenerateBranchCondition()
+ * @generated
+ * @ordered
+ */
+ protected IBooleanEObjectExpression generateBranchCondition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StereotypePropertyAttributeAsParagraphImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDocumentStructureTemplatePackage.Literals.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isGenerate() {
+ return generate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setGenerate(boolean newGenerate) {
+ boolean oldGenerate = generate;
+ generate = newGenerate;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE, oldGenerate, generate));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isGenerateTitle() {
+ return generateTitle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setGenerateTitle(boolean newGenerateTitle) {
+ boolean oldGenerateTitle = generateTitle;
+ generateTitle = newGenerateTitle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE, oldGenerateTitle, generateTitle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCustomTitle() {
+ return customTitle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCustomTitle(String newCustomTitle) {
+ String oldCustomTitle = customTitle;
+ customTitle = newCustomTitle;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE, oldCustomTitle, customTitle));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public IBooleanEObjectExpression getGenerateBranchCondition() {
+ return generateBranchCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetGenerateBranchCondition(IBooleanEObjectExpression newGenerateBranchCondition, NotificationChain msgs) {
+ IBooleanEObjectExpression oldGenerateBranchCondition = generateBranchCondition;
+ generateBranchCondition = newGenerateBranchCondition;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION, oldGenerateBranchCondition, newGenerateBranchCondition);
+ if (msgs == null) {
+ msgs = notification;
+ } else {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setGenerateBranchCondition(IBooleanEObjectExpression newGenerateBranchCondition) {
+ if (newGenerateBranchCondition != generateBranchCondition) {
+ NotificationChain msgs = null;
+ if (generateBranchCondition != null) {
+ msgs = ((InternalEObject) generateBranchCondition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION, null, msgs);
+ }
+ if (newGenerateBranchCondition != null) {
+ msgs = ((InternalEObject) newGenerateBranchCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION, null, msgs);
+ }
+ msgs = basicSetGenerateBranchCondition(newGenerateBranchCondition, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION, newGenerateBranchCondition, newGenerateBranchCondition));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String buildPartTemplateTitle(final EObject context) {
+ return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.UMLBodySectionPartTemplateTitleHelper.UML_INSTANCE.buildPartTemplateTitle(this, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean generateBranch(final EObject context) {
+ if (null == context) {
+ return false;
+ }
+ if (null == generateBranchCondition) {
+ return true;
+ }
+
+ return generateBranchCondition.evaluate(context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
+ return basicSetGenerateBranchCondition(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE:
+ return isGenerate();
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
+ return isGenerateTitle();
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+ return getCustomTitle();
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
+ return getGenerateBranchCondition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE:
+ setGenerate((Boolean) newValue);
+ return;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
+ setGenerateTitle((Boolean) newValue);
+ return;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+ setCustomTitle((String) newValue);
+ return;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
+ setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE:
+ setGenerate(GENERATE_EDEFAULT);
+ return;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
+ setGenerateTitle(GENERATE_TITLE_EDEFAULT);
+ return;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+ setCustomTitle(CUSTOM_TITLE_EDEFAULT);
+ return;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
+ setGenerateBranchCondition((IBooleanEObjectExpression) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE:
+ return generate != GENERATE_EDEFAULT;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
+ return generateTitle != GENERATE_TITLE_EDEFAULT;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+ return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
+ return generateBranchCondition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == StereotypePropertyAttribute.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IBodySectionPartTemplate.class) {
+ switch (derivedFeatureID) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE:
+ return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
+ return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_TITLE;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+ return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
+ return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IBodyPartTemplate.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ILeafBodyPartTemplate.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ITemplatePartView.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IUMLBodyPartTemplateTitle.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == StereotypePropertyAttribute.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IBodySectionPartTemplate.class) {
+ switch (baseFeatureID) {
+ case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE:
+ return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE;
+ case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_TITLE:
+ return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE;
+ case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE:
+ return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE;
+ case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
+ return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IBodyPartTemplate.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ILeafBodyPartTemplate.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ITemplatePartView.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IUMLBodyPartTemplateTitle.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == StereotypePropertyAttribute.class) {
+ switch (baseOperationID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IBodySectionPartTemplate.class) {
+ switch (baseOperationID) {
+ case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE___BUILD_PART_TEMPLATE_TITLE__EOBJECT:
+ return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___BUILD_PART_TEMPLATE_TITLE__EOBJECT;
+ case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE___GENERATE_BRANCH__EOBJECT:
+ return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___GENERATE_BRANCH__EOBJECT;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IBodyPartTemplate.class) {
+ switch (baseOperationID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ILeafBodyPartTemplate.class) {
+ switch (baseOperationID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ITemplatePartView.class) {
+ switch (baseOperationID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == IUMLBodyPartTemplateTitle.class) {
+ switch (baseOperationID) {
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___BUILD_PART_TEMPLATE_TITLE__EOBJECT:
+ return buildPartTemplateTitle((EObject) arguments.get(0));
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH___GENERATE_BRANCH__EOBJECT:
+ return generateBranch((EObject) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (generate: "); //$NON-NLS-1$
+ result.append(generate);
+ result.append(", generateTitle: "); //$NON-NLS-1$
+ result.append(generateTitle);
+ result.append(", customTitle: "); //$NON-NLS-1$
+ result.append(customTitle);
+ result.append(')');
+ return result.toString();
+ }
+
+} // StereotypePropertyAttributeAsParagraphImpl
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplateFactoryImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplateFactoryImpl.java
index f018c95..6dc8ce0 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplateFactoryImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplateFactoryImpl.java
@@ -87,6 +87,8 @@
return createStereotypePropertyReferenceListItemTemplate();
case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_LIST_ITEM_TEMPLATE:
return createStereotypePropertyAttributeListItemTemplate();
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH:
+ return createStereotypePropertyAttributeAsParagraph();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -230,6 +232,18 @@
*
* @generated
*/
+ @Override
+ public StereotypePropertyAttributeAsParagraph createStereotypePropertyAttributeAsParagraph() {
+ StereotypePropertyAttributeAsParagraphImpl stereotypePropertyAttributeAsParagraph = new StereotypePropertyAttributeAsParagraphImpl();
+ return stereotypePropertyAttributeAsParagraph;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
public StereotypeFilterBehavior createStereotypeFilterBehaviorFromString(EDataType eDataType, String initialValue) {
StereotypeFilterBehavior result = StereotypeFilterBehavior.get(initialValue);
if (result == null)
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java
index de3f3ea..8af62da 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java
@@ -42,6 +42,7 @@
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypeListItemTemplate;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePartTemplate;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttribute;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeListItemTemplate;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyColumn;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyListItemTemplate;
@@ -216,6 +217,14 @@
*
* @generated
*/
+ private EClass stereotypePropertyAttributeAsParagraphEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
private EEnum stereotypeFilterBehaviorEEnum = null;
/**
@@ -617,6 +626,17 @@
* @generated
*/
@Override
+ public EClass getStereotypePropertyAttributeAsParagraph() {
+ return stereotypePropertyAttributeAsParagraphEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EEnum getStereotypeFilterBehavior() {
return stereotypeFilterBehaviorEEnum;
}
@@ -711,6 +731,8 @@
stereotypePropertyAttributeEClass = createEClass(STEREOTYPE_PROPERTY_ATTRIBUTE);
+ stereotypePropertyAttributeAsParagraphEClass = createEClass(STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH);
+
// Create enums
stereotypeFilterBehaviorEEnum = createEEnum(STEREOTYPE_FILTER_BEHAVIOR);
commentChoiceEEnum = createEEnum(COMMENT_CHOICE);
@@ -784,6 +806,11 @@
stereotypePropertyAttributeListItemTemplateEClass.getESuperTypes().add(this.getStereotypePropertyListItemTemplate());
stereotypePropertyAttributeListItemTemplateEClass.getESuperTypes().add(theDocumentStructureTemplatePackage.getILeafListItemTemplate());
stereotypePropertyAttributeListItemTemplateEClass.getESuperTypes().add(this.getStereotypePropertyAttribute());
+ stereotypePropertyAttributeAsParagraphEClass.getESuperTypes().add(this.getStereotypePropertyTemplate());
+ stereotypePropertyAttributeAsParagraphEClass.getESuperTypes().add(this.getStereotypePropertyAttribute());
+ stereotypePropertyAttributeAsParagraphEClass.getESuperTypes().add(theDocumentStructureTemplatePackage.getILeafBodyPartTemplate());
+ stereotypePropertyAttributeAsParagraphEClass.getESuperTypes().add(theDocumentStructureTemplatePackage.getITemplatePartView());
+ stereotypePropertyAttributeAsParagraphEClass.getESuperTypes().add(this.getIUMLBodyPartTemplateTitle());
// Initialize classes, features, and operations; add parameters
initEClass(stereotypePartTemplateEClass, StereotypePartTemplate.class, "StereotypePartTemplate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
@@ -845,6 +872,8 @@
initEClass(stereotypePropertyAttributeEClass, StereotypePropertyAttribute.class, "StereotypePropertyAttribute", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEClass(stereotypePropertyAttributeAsParagraphEClass, StereotypePropertyAttributeAsParagraph.class, "StereotypePropertyAttributeAsParagraph", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
// Initialize enums and add enum literals
initEEnum(stereotypeFilterBehaviorEEnum, StereotypeFilterBehavior.class, "StereotypeFilterBehavior"); //$NON-NLS-1$
addEEnumLiteral(stereotypeFilterBehaviorEEnum, StereotypeFilterBehavior.STEREOTYPE_TYPE_OF);
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java
index 401f5c0..267a665 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java
@@ -192,6 +192,11 @@
}
@Override
+ public Adapter caseStereotypePropertyAttributeAsParagraph(StereotypePropertyAttributeAsParagraph object) {
+ return createStereotypePropertyAttributeAsParagraphAdapter();
+ }
+
+ @Override
public Adapter caseEClassTemplate(EClassTemplate object) {
return createEClassTemplateAdapter();
}
@@ -564,6 +569,21 @@
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph <em>Stereotype Property Attribute As Paragraph</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph
+ * @generated
+ */
+ public Adapter createStereotypePropertyAttributeAsParagraphAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.EClassTemplate <em>EClass Template</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateSwitch.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateSwitch.java
index 0dcf7dc..ac56d0d 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateSwitch.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateSwitch.java
@@ -450,6 +450,38 @@
}
return result;
}
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH: {
+ StereotypePropertyAttributeAsParagraph stereotypePropertyAttributeAsParagraph = (StereotypePropertyAttributeAsParagraph) theEObject;
+ T result = caseStereotypePropertyAttributeAsParagraph(stereotypePropertyAttributeAsParagraph);
+ if (result == null) {
+ result = caseStereotypePropertyTemplate(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = caseStereotypePropertyAttribute(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = caseILeafBodyPartTemplate(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = caseITemplatePartView(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = caseIUMLBodyPartTemplateTitle(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = caseStereotypeTemplate(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = caseIBodyPartTemplate(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = caseIBodySectionPartTemplate(stereotypePropertyAttributeAsParagraph);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
default:
return defaultCase(theEObject);
}
@@ -762,6 +794,23 @@
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Stereotype Property Attribute As Paragraph</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stereotype Property Attribute As Paragraph</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStereotypePropertyAttributeAsParagraph(StereotypePropertyAttributeAsParagraph object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EClass Template</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateValidator.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateValidator.java
index aa8bc13..acb67b2 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateValidator.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateValidator.java
@@ -152,6 +152,8 @@
return validateStereotypePropertyAttributeListItemTemplate((StereotypePropertyAttributeListItemTemplate) value, diagnostics, context);
case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE:
return validateStereotypePropertyAttribute((StereotypePropertyAttribute) value, diagnostics, context);
+ case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH:
+ return validateStereotypePropertyAttributeAsParagraph((StereotypePropertyAttributeAsParagraph) value, diagnostics, context);
case UMLDocumentStructureTemplatePackage.STEREOTYPE_FILTER_BEHAVIOR:
return validateStereotypeFilterBehavior((StereotypeFilterBehavior) value, diagnostics, context);
case UMLDocumentStructureTemplatePackage.COMMENT_CHOICE:
@@ -347,6 +349,16 @@
*
* @generated
*/
+ public boolean validateStereotypePropertyAttributeAsParagraph(StereotypePropertyAttributeAsParagraph stereotypePropertyAttributeAsParagraph, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(stereotypePropertyAttributeAsParagraph, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
public boolean validateStereotypeFilterBehavior(StereotypeFilterBehavior stereotypeFilterBehavior, DiagnosticChain diagnostics, Map<Object, Object> context) {
return true;
}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/internal/operations/UMLBodySectionPartTemplateTitleHelper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/internal/operations/UMLBodySectionPartTemplateTitleHelper.java
index 6c1304e..1f8de55 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/internal/operations/UMLBodySectionPartTemplateTitleHelper.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/internal/operations/UMLBodySectionPartTemplateTitleHelper.java
@@ -20,6 +20,7 @@
import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.operations.BodySectionPartTemplateTitleOperations;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.CommentAsParagraph;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePartTemplate;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyReferencePartTemplate;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyReferenceTableView;
import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.providers.UMLDelegatingToEMFLabelProvider;
@@ -76,10 +77,25 @@
if (partTemplate instanceof StereotypePropertyReferenceTableView) {
return buildStereotypePropertyReferenceTableViewTitle((StereotypePropertyReferenceTableView) partTemplate);
}
+ if (partTemplate instanceof StereotypePropertyAttributeAsParagraph) {
+ return buildStereotypePropertyAttributeAsParagraphTitle((StereotypePropertyAttributeAsParagraph) partTemplate);
+
+ }
return super.internalBuildPartTemplateTitle(partTemplate, parameter);
}
/**
+ * @param partTemplate
+ * @return
+ */
+ private String buildStereotypePropertyAttributeAsParagraphTitle(final StereotypePropertyAttributeAsParagraph partTemplate) {
+ if (null != partTemplate.getPropertyName() && false == partTemplate.getPropertyName().isEmpty()) {
+ return partTemplate.getPropertyName();
+ }
+ return "No Property Name";//$NON-NLS-1$
+ }
+
+ /**
*
* @param StereotypePropertyReferenceTableView
* a {@link StereotypePropertyReferenceTableView} element
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/plugin.xml b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/plugin.xml
index a9aec39..ed797e1 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/plugin.xml
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/plugin.xml
@@ -19,6 +19,10 @@
class="org.eclipse.papyrus.model2doc.uml.template2structure.internal.mappers.StereotypePropertyReferenceTableViewMapper"
generatorId="TextDocumentStructureGenerator.default">
</mapper>
+ <mapper
+ class="org.eclipse.papyrus.model2doc.uml.template2structure.internal.mappers.StereotypePropertyAttributeAsParagraphMapper"
+ generatorId="TextDocumentStructureGenerator.default">
+ </mapper>
</extension>
</plugin>
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyAttributeAsParagraphMapper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyAttributeAsParagraphMapper.java
new file mode 100755
index 0000000..1887448
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyAttributeAsParagraphMapper.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.model2doc.uml.template2structure.internal.mappers;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.Paragraph;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * This mapper converts the StereotypePropertyAttributeAsParagraph into {@link Paragraph}
+ */
+public class StereotypePropertyAttributeAsParagraphMapper extends AbstractUMLTemplateToStructureMapper<StereotypePropertyAttributeAsParagraph> {
+
+ private static final String EMPTY_STRING = ""; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ *
+ * @param inputEClass
+ * @param outputClass
+ */
+ public StereotypePropertyAttributeAsParagraphMapper() {
+ super(TEMPLATE_EPACKAGE.getStereotypePropertyAttributeAsParagraph(), BodyPart.class);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper#doMap(org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject,
+ * java.lang.Class)
+ *
+ * @param <T>
+ * @param mappingService
+ * @param documentTemplateElement
+ * @param semanticModelElement
+ * @param expectedReturnedClass
+ * @return
+ */
+ @Override
+ protected <T> List<T> doMap(IMappingService mappingService, StereotypePropertyAttributeAsParagraph documentTemplateElement, EObject semanticModelElement, Class<T> expectedReturnedClass) {
+ if (false == documentTemplateElement.generateBranch(semanticModelElement)) {
+ return Collections.emptyList();
+ }
+ if (false == documentTemplateElement.isGenerate() || false == semanticModelElement instanceof Element) {
+ // This element can't have children, so if isGenerate() returns false, we go out!
+ return Collections.emptyList();
+ }
+ final List<T> returnedValue = new ArrayList<>();
+
+ final Iterator<Object> commentIter = documentTemplateElement.getStereotypePropertyValues(semanticModelElement).iterator();
+ Title title = null;
+ if (commentIter.hasNext() && documentTemplateElement.isGenerateTitle()) {
+ title = STRUCTURE_EFACTORY.createTitle();
+ title.setTitle(documentTemplateElement.buildPartTemplateTitle(null));
+ returnedValue.add(expectedReturnedClass.cast(title));
+ }
+ while (commentIter.hasNext()) {
+ final Paragraph paragraph = STRUCTURE_EFACTORY.createParagraph();
+ Object value = commentIter.next();
+ if (value == null) {
+ value = EMPTY_STRING;
+ }
+ paragraph.setText(value.toString());
+ if (null == title) {
+ returnedValue.add(expectedReturnedClass.cast(paragraph));
+ } else {
+ title.getSubBodyParts().add(paragraph);
+ }
+ }
+ return returnedValue;
+ }
+
+}