[CDO] Add CDO'ified models
Add CDO'ified version of Nattable.genmodel
Add CDO'ified version of Architecture.genmodel
Add CDO'ified version of the UML Standard profile
Change-Id: I2d52be0b636ad8d2890da0adc025c9910828a15d
Signed-off-by: Eike Stepper <stepper@esc-net.de>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.classpath b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.project b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.project
new file mode 100644
index 0000000..ed48dfe
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.project
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.core.architecture.cdo</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.resources.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.runtime.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.core.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.ui.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.pde.api.tools.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/META-INF/MANIFEST.MF b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e6c2798
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.infra.core.architecture.cdo;singleton:=true
+Automatic-Module-Name: org.eclipse.papyrus.infra.core.architecture.cdo
+Bundle-Version: 2.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.infra.core.architecture.cdo
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.14.0,4.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.emf;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.core.architecture;bundle-version="[2.1.0,3.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/about.html b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 30, 2017</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 ("EPL"). A copy of the EPL is available
+at <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/build.properties b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/build.properties
new file mode 100644
index 0000000..543fdec
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/build.properties
@@ -0,0 +1,23 @@
+* Copyright (c) 2017 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:
+# Maged Elaasar - Initial API and implementation
+#
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.aird b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.aird
new file mode 100644
index 0000000..6069591
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.aird
@@ -0,0 +1,977 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
+ <viewpoint:DAnalysis xmi:id="_xGjjUO0AEeaf8aQEde1Z1Q" selectedViews="_ya3q4O0AEeaf8aQEde1Z1Q _ybEfMO0AEeaf8aQEde1Z1Q _ybFtUO0AEeaf8aQEde1Z1Q _ybMbAO0AEeaf8aQEde1Z1Q" version="11.1.0.201608251200">
+ <semanticResources>Architecture.ecore</semanticResources>
+ <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
+ <semanticResources>platform:/resource/org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.ecore</semanticResources>
+ <semanticResources>Architecture.genmodel</semanticResources>
+ <semanticResources>platform:/resource/org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.genmodel</semanticResources>
+ <ownedViews xmi:type="viewpoint:DView" xmi:id="_ya3q4O0AEeaf8aQEde1Z1Q">
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
+ <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_5z_NgO0AEeaf8aQEde1Z1Q" name="architecture class diagram" representation="_5z_0kO0AEeaf8aQEde1Z1Q">
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <target xmi:type="ecore:EPackage" href="Architecture.ecore#/"/>
+ </ownedRepresentationDescriptors>
+ </ownedViews>
+ <ownedViews xmi:type="viewpoint:DView" xmi:id="_ybEfMO0AEeaf8aQEde1Z1Q">
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
+ </ownedViews>
+ <ownedViews xmi:type="viewpoint:DView" xmi:id="_ybFtUO0AEeaf8aQEde1Z1Q">
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
+ </ownedViews>
+ <ownedViews xmi:type="viewpoint:DView" xmi:id="_ybMbAO0AEeaf8aQEde1Z1Q">
+ <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
+ </ownedViews>
+ </viewpoint:DAnalysis>
+ <diagram:DSemanticDiagram xmi:id="_5z_0kO0AEeaf8aQEde1Z1Q" name="architecture class diagram">
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_5z_0ke0AEeaf8aQEde1Z1Q" source="DANNOTATION_CUSTOMIZATION_KEY">
+ <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_5z_0ku0AEeaf8aQEde1Z1Q">
+ <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_7Qb9YO0AEeaf8aQEde1Z1Q" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+ <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ <labelFormat>bold</labelFormat>
+ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ </computedStyleDescriptions>
+ <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_7QirEO0AEeaf8aQEde1Z1Q" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+ <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+ <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ </computedStyleDescriptions>
+ <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_7Qr1AO0AEeaf8aQEde1Z1Q" labelExpression="service:renderAsNode" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+ <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ <labelFormat>bold</labelFormat>
+ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
+ </computedStyleDescriptions>
+ <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+ <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_7SFjMe0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:renderEOpposite">
+ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ </beginLabelStyleDescription>
+ <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_7SFjMu0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:render">
+ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ </endLabelStyleDescription>
+ </computedStyleDescriptions>
+ <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_7SMQ4O0AEeaf8aQEde1Z1Q" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan">
+ <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_7SMQ4e0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:renderEOpposite">
+ <labelFormat>bold</labelFormat>
+ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ </beginLabelStyleDescription>
+ <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_7SMQ4u0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:render">
+ <labelFormat>bold</labelFormat>
+ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+ </endLabelStyleDescription>
+ </computedStyleDescriptions>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_53Qj8O0AEeaf8aQEde1Z1Q" source="GMF_DIAGRAMS">
+ <data xmi:type="notation:Diagram" xmi:id="_53Qj8e0AEeaf8aQEde1Z1Q" type="Sirius" element="_5z_0kO0AEeaf8aQEde1Z1Q" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_7SZsQO0AEeaf8aQEde1Z1Q" type="2003" element="_7PdF8O0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7SbhcO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7Sfy4O0AEeaf8aQEde1Z1Q" type="7004">
+ <children xmi:type="notation:Node" xmi:id="_7StOQO0AEeaf8aQEde1Z1Q" type="3010" element="_7QZhIO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7StOQe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7StOQu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7St1UO0AEeaf8aQEde1Z1Q" type="3010" element="_7Qg14O0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7St1Ue0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7St1Uu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7St1U-0AEeaf8aQEde1Z1Q" type="3010" element="_7QiEAO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7St1VO0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7St1Ve0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7Sfy4e0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7Sfy4u0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SZsQe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" italic="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SZsQu0AEeaf8aQEde1Z1Q" x="267" y="21" height="82"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SgZ8O0AEeaf8aQEde1Z1Q" type="2003" element="_7Pp6QO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7ShoEO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7ShoEe0AEeaf8aQEde1Z1Q" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7ShoEu0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7ShoE-0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SgZ8e0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SgZ8u0AEeaf8aQEde1Z1Q" x="123" y="117" height="57"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SiPIO0AEeaf8aQEde1Z1Q" type="2003" element="_7Ps9kO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7SjdQO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7SjdQe0AEeaf8aQEde1Z1Q" type="7004">
+ <children xmi:type="notation:Node" xmi:id="_7SucYO0AEeaf8aQEde1Z1Q" type="3010" element="_7QkgQO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7SucYe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7SucYu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SucY-0AEeaf8aQEde1Z1Q" type="3010" element="_7QtDIO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7SucZO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7SucZe0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7SjdQu0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7SjdQ-0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SiPIe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SiPIu0AEeaf8aQEde1Z1Q" x="324" y="270" height="66"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SkEUO0AEeaf8aQEde1Z1Q" type="2003" element="_7PvZ0O0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7SkrYO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7SlScO0AEeaf8aQEde1Z1Q" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7SlSce0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7SlScu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SkEUe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SkEUu0AEeaf8aQEde1Z1Q" x="126" y="274" height="57"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SlSc-0AEeaf8aQEde1Z1Q" type="2003" element="_7PxPAO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7Sl5gO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7Sl5ge0AEeaf8aQEde1Z1Q" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7SmgkO0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7Smgke0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SlSdO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SlSde0AEeaf8aQEde1Z1Q" x="123" y="432" height="57"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Smgku0AEeaf8aQEde1Z1Q" type="2003" element="_7PzEMO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7SnHoO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7SnHoe0AEeaf8aQEde1Z1Q" type="7004">
+ <children xmi:type="notation:Node" xmi:id="_7SvDcO0AEeaf8aQEde1Z1Q" type="3010" element="_7Qu4UO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7SvDce0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7SvDcu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7SnHou0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7SnHo-0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7Smgk-0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SmglO0AEeaf8aQEde1Z1Q" x="600" y="432" height="57"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SnHpO0AEeaf8aQEde1Z1Q" type="2003" element="_7P1gcO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7SnusO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7So80O0AEeaf8aQEde1Z1Q" type="7004">
+ <children xmi:type="notation:Node" xmi:id="_7SvqgO0AEeaf8aQEde1Z1Q" type="3010" element="_7QxUkO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7Svqge0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7Svqgu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7So80e0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7So80u0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SnHpe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" italic="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SnHpu0AEeaf8aQEde1Z1Q" x="339" y="432" height="57"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7So80-0AEeaf8aQEde1Z1Q" type="2003" element="_7P5x4O0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7Spj4O0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7Spj4e0AEeaf8aQEde1Z1Q" type="7004">
+ <children xmi:type="notation:Node" xmi:id="_7Svqg-0AEeaf8aQEde1Z1Q" type="3010" element="_7QyisO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7SvqhO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7Svqhe0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SwRkO0AEeaf8aQEde1Z1Q" type="3010" element="_7Q0X4O0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7SwRke0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7SwRku0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SwRk-0AEeaf8aQEde1Z1Q" type="3010" element="_7Q0-8e0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7SwRlO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7SwRle0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SwRlu0AEeaf8aQEde1Z1Q" type="3010" element="_7Q2NEO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7SwRl-0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7SwRmO0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Sw4oO0AEeaf8aQEde1Z1Q" type="3010" element="_7Q3bMO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7Sw4oe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7Sw4ou0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Sw4o-0AEeaf8aQEde1Z1Q" type="3010" element="_7Q4pUO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7Sw4pO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7Sw4pe0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7Spj4u0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7Spj4-0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7So81O0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" italic="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7So81e0AEeaf8aQEde1Z1Q" x="376" y="117"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SqK8O0AEeaf8aQEde1Z1Q" type="2003" element="_7P7nEO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7SqK8-0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7SqyAO0AEeaf8aQEde1Z1Q" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7SqyAe0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7SqyAu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SqK8e0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SqK8u0AEeaf8aQEde1Z1Q" x="495" y="270" height="66"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7SqyA-0AEeaf8aQEde1Z1Q" type="2003" element="_7P9cQO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7SrZEO0AEeaf8aQEde1Z1Q" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_7SrZEe0AEeaf8aQEde1Z1Q" type="7004">
+ <children xmi:type="notation:Node" xmi:id="_7SxfsO0AEeaf8aQEde1Z1Q" type="3010" element="_7Q53cO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7Sxfse0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7Sxfsu0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7SrZEu0AEeaf8aQEde1Z1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7SrZE-0AEeaf8aQEde1Z1Q"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_7SqyBO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SqyBe0AEeaf8aQEde1Z1Q" x="234" y="189" height="55"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_anAukPaMEeazb43LOF1y5w" type="2003" element="_amJL4PaMEeazb43LOF1y5w">
+ <children xmi:type="notation:Node" xmi:id="_anjhIPaMEeazb43LOF1y5w" type="5007"/>
+ <children xmi:type="notation:Node" xmi:id="_ankIMPaMEeazb43LOF1y5w" type="7004">
+ <children xmi:type="notation:Node" xmi:id="_NLxcAPaNEeazb43LOF1y5w" type="3010" element="_7Q7FkO0AEeaf8aQEde1Z1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_NLxcAfaNEeazb43LOF1y5w" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NLxcAvaNEeazb43LOF1y5w"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ankIMfaMEeazb43LOF1y5w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ankIMvaMEeazb43LOF1y5w"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_anAukfaMEeazb43LOF1y5w" fontName=".SF NS Text" fontHeight="8"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_anAukvaMEeazb43LOF1y5w" x="234" y="351" height="57"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_53Qj8u0AEeaf8aQEde1Z1Q"/>
+ <edges xmi:type="notation:Edge" xmi:id="_7S-UAO0AEeaf8aQEde1Z1Q" type="4001" element="_7REPgO0AEeaf8aQEde1Z1Q" source="_7SkEUO0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TAwQO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TAwQe0AEeaf8aQEde1Z1Q" x="38" y="33"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TB-YO0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TB-Ye0AEeaf8aQEde1Z1Q" x="39" y="-7"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TDMgO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TDMge0AEeaf8aQEde1Z1Q" x="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7S-UAe0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7S-UAu0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7S-UA-0AEeaf8aQEde1Z1Q" points="[-60, -10, 61, -122]$[-60, 93, 61, -19]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TQA0O0AEeaf8aQEde1Z1Q" id="(1.0,1.1878787425648083)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TQn4O0AEeaf8aQEde1Z1Q" id="(0.0,0.3563636363636364)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TQn4e0AEeaf8aQEde1Z1Q" type="4001" element="_7Rvk8O0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TRO8O0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TRO8e0AEeaf8aQEde1Z1Q" x="198" y="13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TR2AO0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TR2Ae0AEeaf8aQEde1Z1Q" x="45" y="-9"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TR2Au0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TR2A-0AEeaf8aQEde1Z1Q" x="-2" y="36"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TQn4u0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TQn4-0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TQn5O0AEeaf8aQEde1Z1Q" points="[-58, -3, 537, -23]$[-58, 19, 537, -1]$[-535, 19, 60, -1]$[-535, -3, 60, -23]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TSdEO0AEeaf8aQEde1Z1Q" id="(1.0,1.069090909090909)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TSdEe0AEeaf8aQEde1Z1Q" id="(0.0,1.4254545454545455)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TSdEu0AEeaf8aQEde1Z1Q" type="4001" element="_7RxaIO0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7SnHpO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TTEIO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TTEIe0AEeaf8aQEde1Z1Q" x="12" y="-14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TTEIu0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TTEI-0AEeaf8aQEde1Z1Q" x="85" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TTEJO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TTEJe0AEeaf8aQEde1Z1Q" x="14" y="-10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TSdE-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TSdFO0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TSdFe0AEeaf8aQEde1Z1Q" points="[-118, -3, 261, -29]$[-261, -3, 118, -29]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TTrMO0AEeaf8aQEde1Z1Q" id="(1.0,0.7127272727272728)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TTrMe0AEeaf8aQEde1Z1Q" id="(0.0,1.1878786066228695)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TTrMu0AEeaf8aQEde1Z1Q" type="4001" element="_7RyBM-0AEeaf8aQEde1Z1Q" source="_7SnHpO0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TUSQO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TUSQe0AEeaf8aQEde1Z1Q" x="12" y="-14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TUSQu0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TUSQ-0AEeaf8aQEde1Z1Q" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TU5UO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TU5Ue0AEeaf8aQEde1Z1Q" x="3" y="-10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TTrM-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TTrNO0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TTrNe0AEeaf8aQEde1Z1Q" points="[-118, -5, 216, -31]$[-216, -5, 118, -31]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TU5Uu0AEeaf8aQEde1Z1Q" id="(1.0,0.5939395751953125)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TU5U-0AEeaf8aQEde1Z1Q" id="(0.0,1.069090909090909)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TU5VO0AEeaf8aQEde1Z1Q" type="4001" element="_7R0dcO0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TVgYO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TVgYe0AEeaf8aQEde1Z1Q" x="-2" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TVgYu0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TVgY-0AEeaf8aQEde1Z1Q" x="-18" y="53"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TVgZO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TVgZe0AEeaf8aQEde1Z1Q" x="2" y="-31"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TU5Ve0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TU5Vu0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TU5V-0AEeaf8aQEde1Z1Q" points="[-14, -39, -40, 69]$[-14, -65, -40, 43]$[26, -65, 0, 43]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TWHcO0AEeaf8aQEde1Z1Q" id="(1.0,0.7127272727272728)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TWHce0AEeaf8aQEde1Z1Q" id="(0.0,0.3499999732971191)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TWHcu0AEeaf8aQEde1Z1Q" type="4001" element="_7R5V8O0AEeaf8aQEde1Z1Q" source="_7SiPIO0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TWugO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TWuge0AEeaf8aQEde1Z1Q" x="-4" y="1"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TWugu0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TWug-0AEeaf8aQEde1Z1Q" x="4" y="-5"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TWuhO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TWuhe0AEeaf8aQEde1Z1Q" x="-12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TWHc-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TWHdO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TWHde0AEeaf8aQEde1Z1Q" points="[-58, -32, 40, 78]$[-58, -60, 40, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TXVkO0AEeaf8aQEde1Z1Q" id="(1.0,0.5104168224334716)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TXVke0AEeaf8aQEde1Z1Q" id="(0.0,0.6000000961183563)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TXVku0AEeaf8aQEde1Z1Q" type="4001" element="_7R7LIO0AEeaf8aQEde1Z1Q" source="_7SkEUO0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TX8oO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TX8oe0AEeaf8aQEde1Z1Q" x="-194" y="3"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TX8ou0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TX8o-0AEeaf8aQEde1Z1Q" x="-14" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TX8pO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TX8pe0AEeaf8aQEde1Z1Q" x="12" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TXVk-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TXVlO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TXVle0AEeaf8aQEde1Z1Q" points="[-118, 0, -141, 271]$[-193, 0, -216, 271]$[-193, -246, -216, 25]$[23, -246, 0, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TYjsO0AEeaf8aQEde1Z1Q" id="(1.0,0.5939393033114347)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TYjse0AEeaf8aQEde1Z1Q" id="(0.0,0.1750000801086426)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TYjsu0AEeaf8aQEde1Z1Q" type="4001" element="_7R8ZQO0AEeaf8aQEde1Z1Q" source="_7SlSc-0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TZKwO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TZKwe0AEeaf8aQEde1Z1Q" x="-40" y="-8"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TZKwu0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TZKw-0AEeaf8aQEde1Z1Q" x="-108" y="-5"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TZKxO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TZKxe0AEeaf8aQEde1Z1Q" x="-114" y="43"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TYjs-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TYjtO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TYjte0AEeaf8aQEde1Z1Q" points="[-118, -4, -144, 414]$[-208, -4, -234, 414]$[-208, -444, -234, -26]$[26, -444, 0, -26]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TZx0O0AEeaf8aQEde1Z1Q" id="(1.0,0.8909090909090909)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TZx0e0AEeaf8aQEde1Z1Q" id="(0.0,0.5250000534057617)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TZx0u0AEeaf8aQEde1Z1Q" type="4001" element="_7R9nYO0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TZx1u0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TaY4O0AEeaf8aQEde1Z1Q" x="-284" y="14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TaY4e0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TaY4u0AEeaf8aQEde1Z1Q" x="-76"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TaY4-0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TaY5O0AEeaf8aQEde1Z1Q" x="-181" y="-217"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TZx0-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TZx1O0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TZx1e0AEeaf8aQEde1Z1Q" points="[-37, -78, 414, 327]$[-37, -450, 414, -45]$[-330, -450, 121, -45]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TaY5e0AEeaf8aQEde1Z1Q" id="(1.0,1.4254545454545455)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TaY5u0AEeaf8aQEde1Z1Q" id="(0.0,1.0500001068115234)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7Ta_8O0AEeaf8aQEde1Z1Q" type="4001" element="_7R-1gO0AEeaf8aQEde1Z1Q" source="_7SnHpO0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7Ta_9O0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Ta_9e0AEeaf8aQEde1Z1Q" x="-57" y="-1"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Ta_9u0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Ta_9-0AEeaf8aQEde1Z1Q" x="163" y="-50"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TbnAO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TbnAe0AEeaf8aQEde1Z1Q" x="-144" y="-175"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Ta_8e0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7Ta_8u0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Ta_8-0AEeaf8aQEde1Z1Q" points="[-58, -10, 132, 396]$[-58, -2, 132, 404]$[272, -2, 462, 404]$[272, -460, 462, -54]$[-69, -460, 121, -54]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TbnAu0AEeaf8aQEde1Z1Q" id="(1.0,1.1878786066228695)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TbnA-0AEeaf8aQEde1Z1Q" id="(0.0,0.8750000267028808)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TcOEO0AEeaf8aQEde1Z1Q" type="4001" element="_7SAqsO0AEeaf8aQEde1Z1Q" source="_7So80-0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TcOFO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TcOFe0AEeaf8aQEde1Z1Q" x="-3" y="-23"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Tc1IO0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tc1Ie0AEeaf8aQEde1Z1Q" x="-15" y="18"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Tc1Iu0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tc1I-0AEeaf8aQEde1Z1Q" x="-35" y="-10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TcOEe0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TcOEu0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TcOE-0AEeaf8aQEde1Z1Q" points="[-102, -62, 219, 40]$[-102, -88, 219, 14]$[-195, -88, 126, 14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TdcMO0AEeaf8aQEde1Z1Q" id="(1.0,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TeDQO0AEeaf8aQEde1Z1Q" id="(0.0,0.7000001335144044)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TeDQe0AEeaf8aQEde1Z1Q" type="4001" element="_7SB40O0AEeaf8aQEde1Z1Q" source="_7SqK8O0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TeDRe0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TeDRu0AEeaf8aQEde1Z1Q" x="-7"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TeqUO0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TeqUe0AEeaf8aQEde1Z1Q" x="1" y="9"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TeqUu0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TeqU-0AEeaf8aQEde1Z1Q" x="-18" y="-9"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TeDQu0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TeDQ-0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TeDRO0AEeaf8aQEde1Z1Q" points="[-60, -48, 177, 104]$[-60, -76, 177, 76]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TeqVO0AEeaf8aQEde1Z1Q" id="(1.0,0.7656247663497925)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TeqVe0AEeaf8aQEde1Z1Q" id="(0.0,0.3999999038816437)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TeqVu0AEeaf8aQEde1Z1Q" type="4001" element="_7SDuAO0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TfRYO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TfRYe0AEeaf8aQEde1Z1Q" x="35"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TfRYu0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TfRY-0AEeaf8aQEde1Z1Q" x="-41" y="9"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TfRZO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TfRZe0AEeaf8aQEde1Z1Q" x="41" y="5"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TeqV-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TeqWO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TeqWe0AEeaf8aQEde1Z1Q" points="[-118, -30, 0, -326]$[-145, -30, -27, -326]$[-145, 275, -27, -21]$[-118, 275, 0, -21]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tf4cO0AEeaf8aQEde1Z1Q" id="(1.0,1.069090909090909)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tf4ce0AEeaf8aQEde1Z1Q" id="(0.0,0.7127272727272728)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7Tf4cu0AEeaf8aQEde1Z1Q" type="4001" element="_7SGKQO0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7Tf4du0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tf4d-0AEeaf8aQEde1Z1Q" x="-40" y="19"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TgfgO0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tgfge0AEeaf8aQEde1Z1Q" x="15" y="14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Tgfgu0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tgfg-0AEeaf8aQEde1Z1Q" x="-16" y="-13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Tf4c-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7Tf4dO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Tf4de0AEeaf8aQEde1Z1Q" points="[0, -51, -135, 3]$[135, -51, 0, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TgfhO0AEeaf8aQEde1Z1Q" id="(1.0,1.4254545454545455)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tgfhe0AEeaf8aQEde1Z1Q" id="(0.0,0.19999995194082185)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7Tgfhu0AEeaf8aQEde1Z1Q" type="4001" element="_7SHYY-0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7SkEUO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7ThGkO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ThGke0AEeaf8aQEde1Z1Q" x="34"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7ThGku0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ThGk-0AEeaf8aQEde1Z1Q" x="7" y="38"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7ThGlO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ThGle0AEeaf8aQEde1Z1Q" x="-2" y="46"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Tgfh-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TgfiO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Tgfie0AEeaf8aQEde1Z1Q" points="[-52, 36, 63, -151]$[-52, 138, 63, -49]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ThtoO0AEeaf8aQEde1Z1Q" id="(1.0,0.3563636363636364)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Thtoe0AEeaf8aQEde1Z1Q" id="(0.0,0.8909090909090909)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7TiUsO0AEeaf8aQEde1Z1Q" type="4001" element="_7SJNkO0AEeaf8aQEde1Z1Q" source="_7SiPIO0AEeaf8aQEde1Z1Q" target="_7SnHpO0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7Tji0O0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tji0e0AEeaf8aQEde1Z1Q" x="6"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TkJ4O0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TkJ4e0AEeaf8aQEde1Z1Q" x="-2" y="-41"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TkJ4u0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TkJ4-0AEeaf8aQEde1Z1Q" x="2" y="-59"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TiUse0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7TiUsu0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TiUs-0AEeaf8aQEde1Z1Q" points="[-87, -1, 48, -130]$[-87, 97, 48, -32]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tkw8O0AEeaf8aQEde1Z1Q" id="(1.0,1.0208336448669433)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tkw8e0AEeaf8aQEde1Z1Q" id="(0.0,0.5939395751953125)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_7Tkw8u0AEeaf8aQEde1Z1Q" type="4001" element="_7SLCwO0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+ <children xmi:type="notation:Node" xmi:id="_7TlYAO0AEeaf8aQEde1Z1Q" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TlYAe0AEeaf8aQEde1Z1Q" x="-25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7TlYAu0AEeaf8aQEde1Z1Q" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TlYA-0AEeaf8aQEde1Z1Q" x="-34" y="-42"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_7Tl_EO0AEeaf8aQEde1Z1Q" type="6003">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tl_Ee0AEeaf8aQEde1Z1Q" x="6" y="13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Tkw8-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7Tkw9O0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Tkw9e0AEeaf8aQEde1Z1Q" points="[-75, -19, 267, 215]$[-75, -271, 267, -37]$[-133, -271, 209, -37]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tl_Eu0AEeaf8aQEde1Z1Q" id="(1.0,0.3563636363636364)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tl_E-0AEeaf8aQEde1Z1Q" id="(0.0,0.8000000480591781)"/>
+ </edges>
+ </data>
+ </ownedAnnotationEntries>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PdF8O0AEeaf8aQEde1Z1Q" name="ADElement" tooltipText="" incomingEdges="_7R0dcO0AEeaf8aQEde1Z1Q _7R7LIO0AEeaf8aQEde1Z1Q _7R8ZQO0AEeaf8aQEde1Z1Q _7R9nYO0AEeaf8aQEde1Z1Q _7R-1gO0AEeaf8aQEde1Z1Q _7SAqsO0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ADElement"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ADElement"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7Plo0O0AEeaf8aQEde1Z1Q" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
+ <labelFormat>italic</labelFormat>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QZhIO0AEeaf8aQEde1Z1Q" name="name : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/name"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/name"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QgO0O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+ <labelFormat>bold</labelFormat>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Qg14O0AEeaf8aQEde1Z1Q" name="desciption : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/desciption"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/desciption"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Qhc8O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QiEAO0AEeaf8aQEde1Z1Q" name="/qualifiedName : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/qualifiedName"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/qualifiedName"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QjSIO0AEeaf8aQEde1Z1Q" labelColor="39,76,114" labelAlignment="LEFT" description="_7QirEO0AEeaf8aQEde1Z1Q"/>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7Pp6QO0AEeaf8aQEde1Z1Q" name="ArchitectureDomain" tooltipText="" outgoingEdges="_7R0dcO0AEeaf8aQEde1Z1Q _7SDuAO0AEeaf8aQEde1Z1Q _7SGKQO0AEeaf8aQEde1Z1Q _7SHYY-0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7PrIYO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7Ps9kO0AEeaf8aQEde1Z1Q" name="ArchitectureDescriptionLanguage" tooltipText="" outgoingEdges="_7R5V8O0AEeaf8aQEde1Z1Q _7SJNkO0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7PuLsO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QkgQO0AEeaf8aQEde1Z1Q" name=" metamodel : EPackage" tooltipText="">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/metamodel"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/metamodel"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QscEO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qr1AO0AEeaf8aQEde1Z1Q" color="114,159,207">
+ <labelFormat>bold</labelFormat>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QtDIO0AEeaf8aQEde1Z1Q" name=" profiles : EPackage" tooltipText="">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/profiles"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/profiles"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QtqMO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" color="114,159,207">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
+ </ownedElements>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PvZ0O0AEeaf8aQEde1Z1Q" name="Stakeholder" tooltipText="" outgoingEdges="_7REPgO0AEeaf8aQEde1Z1Q _7R7LIO0AEeaf8aQEde1Z1Q" incomingEdges="_7SHYY-0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7PwA4O0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PxPAO0AEeaf8aQEde1Z1Q" name="Concern" tooltipText="" outgoingEdges="_7R8ZQO0AEeaf8aQEde1Z1Q" incomingEdges="_7REPgO0AEeaf8aQEde1Z1Q _7Rvk8O0AEeaf8aQEde1Z1Q _7RyBM-0AEeaf8aQEde1Z1Q _7SDuAO0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7Px2EO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PzEMO0AEeaf8aQEde1Z1Q" name="ArchitectureViewpoint" tooltipText="" outgoingEdges="_7Rvk8O0AEeaf8aQEde1Z1Q _7RxaIO0AEeaf8aQEde1Z1Q _7R9nYO0AEeaf8aQEde1Z1Q _7SLCwO0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P0SUO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Qu4UO0AEeaf8aQEde1Z1Q" name="id : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureViewpoint/id"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureViewpoint/id"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QwGcO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+ <labelFormat>bold</labelFormat>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P1gcO0AEeaf8aQEde1Z1Q" name="RepresentationKind" tooltipText="" outgoingEdges="_7RyBM-0AEeaf8aQEde1Z1Q _7R-1gO0AEeaf8aQEde1Z1Q" incomingEdges="_7RxaIO0AEeaf8aQEde1Z1Q _7SJNkO0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P5K0O0AEeaf8aQEde1Z1Q" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
+ <labelFormat>italic</labelFormat>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QxUkO0AEeaf8aQEde1Z1Q" name="icon : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//RepresentationKind/icon"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//RepresentationKind/icon"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Qx7oO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P5x4O0AEeaf8aQEde1Z1Q" name="ArchitectureContext" tooltipText="" outgoingEdges="_7SAqsO0AEeaf8aQEde1Z1Q" incomingEdges="_7R5V8O0AEeaf8aQEde1Z1Q _7SB40O0AEeaf8aQEde1Z1Q _7SGKQO0AEeaf8aQEde1Z1Q _7SLCwO0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P7AAO0AEeaf8aQEde1Z1Q" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
+ <labelFormat>italic</labelFormat>
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QyisO0AEeaf8aQEde1Z1Q" name="id : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/id"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/id"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Qzw0O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+ <labelFormat>bold</labelFormat>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q0X4O0AEeaf8aQEde1Z1Q" name="icon : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/icon"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/icon"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q0-8O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q0-8e0AEeaf8aQEde1Z1Q" name="extensionPrefix : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/extensionPrefix"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/extensionPrefix"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q1mAO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q2NEO0AEeaf8aQEde1Z1Q" name="creationCommandClass : EJavaClass" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/creationCommandClass"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/creationCommandClass"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q20IO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+ <labelFormat>bold</labelFormat>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q3bMO0AEeaf8aQEde1Z1Q" name="conversionCommandClass : EJavaClass" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/conversionCommandClass"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/conversionCommandClass"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q4CQO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q4pUO0AEeaf8aQEde1Z1Q" name=" elementTypes : ElementTypeSetConfiguration" tooltipText="">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/elementTypes"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/elementTypes"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q5QYO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" color="114,159,207">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
+ </ownedElements>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P7nEO0AEeaf8aQEde1Z1Q" name="ArchitectureFramework" tooltipText="" outgoingEdges="_7SB40O0AEeaf8aQEde1Z1Q" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P81MO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P9cQO0AEeaf8aQEde1Z1Q" name="ArchitectureDescription" tooltipText="" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescription"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescription"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P-qYO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q53cO0AEeaf8aQEde1Z1Q" name="contextId : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescription/contextId"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescription/contextId"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q6egO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7REPgO0AEeaf8aQEde1Z1Q" name="[0..*] concerns" sourceNode="_7PvZ0O0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/concerns"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/concerns"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RuW0O0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RuW0e0AEeaf8aQEde1Z1Q" showIcon="false">
+ <customFeatures>labelSize</customFeatures>
+ </centerLabelStyle>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RuW0u0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+ <customFeatures>labelSize</customFeatures>
+ </endLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7Rvk8O0AEeaf8aQEde1Z1Q" name="[0..*] concerns" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RwzEO0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RwzEe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <customFeatures>labelSize</customFeatures>
+ </centerLabelStyle>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RwzEu0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+ <customFeatures>labelSize</customFeatures>
+ </endLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7RxaIO0AEeaf8aQEde1Z1Q" name="[0..*] representationKinds" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7P1gcO0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RyBMO0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RyBMe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <customFeatures>labelSize</customFeatures>
+ </centerLabelStyle>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RyBMu0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+ <customFeatures>labelSize</customFeatures>
+ </endLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7RyBM-0AEeaf8aQEde1Z1Q" name="[0..*] concerns" sourceNode="_7P1gcO0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/concerns"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/concerns"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RyoQO0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RyoQe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <customFeatures>labelSize</customFeatures>
+ </centerLabelStyle>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RyoQu0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+ <customFeatures>labelSize</customFeatures>
+ </endLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R0dcO0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureDomain/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R4u4O0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R4u4e0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R4u4u0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R5V8O0AEeaf8aQEde1Z1Q" sourceNode="_7Ps9kO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureDescriptionLanguage/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R6kEO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R6kEe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R6kEu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R7LIO0AEeaf8aQEde1Z1Q" sourceNode="_7PvZ0O0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//Stakeholder/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R7yMO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R7yMe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R7yMu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R8ZQO0AEeaf8aQEde1Z1Q" sourceNode="_7PxPAO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//Concern/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R9AUO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R9AUe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R9AUu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R9nYO0AEeaf8aQEde1Z1Q" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureViewpoint/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R-OcO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R-Oce0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R-Ocu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R-1gO0AEeaf8aQEde1Z1Q" sourceNode="_7P1gcO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//RepresentationKind/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SADoO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SADoe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7SADou0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SAqsO0AEeaf8aQEde1Z1Q" sourceNode="_7P5x4O0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureContext/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SBRwO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SBRwe0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7SBRwu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SB40O0AEeaf8aQEde1Z1Q" sourceNode="_7P7nEO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+ <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureFramework/@eGenericSuperTypes.0"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SCf4O0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+ <customFeatures>routingStyle</customFeatures>
+ <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SCf4e0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>italic</labelFormat>
+ </beginLabelStyle>
+ <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7SCf4u0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SDuAO0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q" beginLabel="[1..1] domain" endLabel="[0..*] concerns">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/concerns"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/concerns"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//Concern/domain"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SFjM-0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SFjNO0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SFjNe0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SGKQO0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q" beginLabel="[1..1] domain" endLabel="[0..*] contexts">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/contexts"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/contexts"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/domain"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SHYYO0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SHYYe0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SHYYu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SHYY-0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7PvZ0O0AEeaf8aQEde1Z1Q" beginLabel="[1..1] domain" endLabel="[0..*] stakeholders">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/domain"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SImgO0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SImge0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SImgu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SJNkO0AEeaf8aQEde1Z1Q" sourceNode="_7Ps9kO0AEeaf8aQEde1Z1Q" targetNode="_7P1gcO0AEeaf8aQEde1Z1Q" beginLabel="[1..1] language" endLabel="[0..*] representationKinds">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/language"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SKbsO0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SKbse0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SKbsu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SLCwO0AEeaf8aQEde1Z1Q" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q" beginLabel="[0..*] viewpoints" endLabel="[1..1] context">
+ <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/context"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/context"/>
+ <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/viewpoints"/>
+ <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SMQ4-0AEeaf8aQEde1Z1Q" description="_7SMQ4O0AEeaf8aQEde1Z1Q" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+ <customFeatures>routingStyle</customFeatures>
+ <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SM38O0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>bold</labelFormat>
+ </beginLabelStyle>
+ <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SM38e0AEeaf8aQEde1Z1Q" showIcon="false">
+ <labelFormat>bold</labelFormat>
+ </endLabelStyle>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+ </ownedDiagramElements>
+ <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_amJL4PaMEeazb43LOF1y5w" name="ArchitectureDescriptionPreferences" tooltipText="" width="12" height="10">
+ <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionPreferences"/>
+ <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionPreferences"/>
+ <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+ <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+ <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+ <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_amKaAPaMEeazb43LOF1y5w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+ <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q7FkO0AEeaf8aQEde1Z1Q" name="viewpointIds : EString" tooltipText="">
+ <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescriptionPreferences/viewpointIds"/>
+ <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescriptionPreferences/viewpointIds"/>
+ <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q7soO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+ <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+ </ownedStyle>
+ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+ </ownedElements>
+ </ownedDiagramElements>
+ <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+ <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_5z_0le0AEeaf8aQEde1Z1Q"/>
+ <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
+ <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
+ <target xmi:type="ecore:EPackage" href="Architecture.ecore#/"/>
+ </diagram:DSemanticDiagram>
+</xmi:XMI>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore
new file mode 100644
index 0000000..a0a5bfd
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="architecture" nsURI="http://www.eclipse.org/papyrus/infra/core/architecture"
+ nsPrefix="architecture">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An architecture context is a method for customizing Papyrus for a given domain. It defines a regime for editing a Papyrus model semantically and notationally. The semantic editing is defined by a set of element type set configurations (from some domain), while the notational side is defined by a set of viewpoints consisting of a set of representation kinds (e.g., diagram kinds and table kinds) and other notational configurations...."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="ADElement" abstract="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The superclass of all architecture elements"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The unique id of the element"/>
+ <details key="propertyDescription" value="The unique id of the element"/>
+ <details key="propertyCategory" value="Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The name of the element"/>
+ <details key="propertyDescription" value="The name of the element"/>
+ <details key="propertyCategory" value="Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The description of the element"/>
+ <details key="propertyDescription" value="The description of the element"/>
+ <details key="propertyCategory" value="Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The qualified name of the element"/>
+ <details key="propertyDescription" value="The qualified name of the element"/>
+ <details key="propertyCategory" value="Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="icon" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The icon of the element specified using a platform plugin URI"/>
+ <details key="propertyDescription" value="The icon of the element specified using a platform plugin URI"/>
+ <details key="propertyCategory" value="Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDomain" eSuperTypes="#//ADElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A domain is the root of the architecture model. It can contains a collection of concerns, stakeholders, as well as contexts (which can be description languages and/or frameworks)."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stakeholders" upperBound="-1"
+ eType="#//Stakeholder" containment="true" eOpposite="#//Stakeholder/domain">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of stakeholders defined by the domain"/>
+ <details key="propertyDescription" value="The set of stakeholders defined by the domain"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+ eType="#//Concern" containment="true" eOpposite="#//Concern/domain">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of concerns defined by the domain"/>
+ <details key="propertyDescription" value="The set of concerns defined by the domain"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="contexts" upperBound="-1"
+ eType="#//ArchitectureContext" containment="true" eOpposite="#//ArchitectureContext/domain">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of contexts defined by the domain"/>
+ <details key="propertyDescription" value="The set of contexts defined by the domain"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDescriptionLanguage" eSuperTypes="#//ArchitectureContext">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A description language (from ISO 42010) represents in Papyrus a modeling language (e.g., UML, SysML). It has a unique id' that corresponds to that of an ''IClientContext from GMF. It references a metamodel, a set of profiles, a set of element type set configurations, a creation command (creates a model of this language), a conversion command (converts a model to this language), and and icon. It also has an optional extension prefix for its models. It can also contain a set of representation kinds (which can be either diagrams or tables) and a set of viewpoints."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="representationKinds" upperBound="-1"
+ eType="#//RepresentationKind" containment="true" eOpposite="#//RepresentationKind/language">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of representation kinds defined by the language"/>
+ <details key="propertyDescription" value="The set of representation kinds defined by the language"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The metamodel used by the language"/>
+ <details key="propertyDescription" value="The metamodel used by the language"/>
+ <details key="propertyCategory" value="Description Language"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="profiles" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of UML profiles used by the language"/>
+ <details key="propertyDescription" value="The set of UML profiles used by the language"/>
+ <details key="propertyCategory" value="Description Language"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Stakeholder" eSuperTypes="#//ADElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A stakeholder (from ISO 42010) represents in Papyrus an archetype of users. It references a set of its concerns."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+ eType="#//Concern">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of concerns of the stakeholder"/>
+ <details key="propertyDescription" value="The set of concerns of the stakeholder"/>
+ <details key="propertyCategory" value="Stakeholder"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="domain" lowerBound="1"
+ eType="#//ArchitectureDomain" eOpposite="#//ArchitectureDomain/stakeholders">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The domain that defines the stakeholder"/>
+ <details key="propertyDescription" value="The domain that defines the stakeholder"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Concern" eSuperTypes="#//ADElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A concern (from ISO 42010) represents in Papyrus a matter of interest to some stakeholder."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="domain" lowerBound="1"
+ eType="#//ArchitectureDomain" eOpposite="#//ArchitectureDomain/concerns">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The domain that defines the concern"/>
+ <details key="propertyDescription" value="The domain that defines the concern"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitectureViewpoint" eSuperTypes="#//ADElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A viewpoint (from ISO 42010) in Papyrus references set of representation kinds, which can be diagrams or tables."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+ eType="#//Concern">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of concerns covered by the viewpoint"/>
+ <details key="propertyDescription" value="The set of concerns covered by the viewpoint"/>
+ <details key="propertyCategory" value="Viewpoint"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="representationKinds" upperBound="-1"
+ eType="#//RepresentationKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of representation kinds provided by the viewpoint"/>
+ <details key="propertyDescription" value="The set of representation kinds provided by the viewpoint"/>
+ <details key="propertyCategory" value="Viewpoint"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
+ eType="#//ArchitectureContext" eOpposite="#//ArchitectureContext/viewpoints">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The context that defines the viewpoint"/>
+ <details key="propertyDescription" value="The context that defines the viewpoint"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RepresentationKind" abstract="true"
+ eSuperTypes="#//ADElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The kind of representations defined by architectural contexts and that depict some information from a model"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="language" lowerBound="1"
+ eType="#//ArchitectureDescriptionLanguage" eOpposite="#//ArchitectureDescriptionLanguage/representationKinds">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The language that defines the representation kind"/>
+ <details key="propertyDescription" value="The language that defines the representation kind"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+ eType="#//Concern">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of concerns covered by the representation kind"/>
+ <details key="propertyDescription" value="The set of concerns covered by the representation kind"/>
+ <details key="propertyCategory" value="Representation Kind"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="grayedIcon" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The icon of the element specified using a platform plugin URI"/>
+ <details key="propertyDescription" value="The icon of the element specified using a platform plugin URI"/>
+ <details key="propertyCategory" value="Element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitectureContext" abstract="true"
+ eSuperTypes="#//ADElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The superclass of architectural description languages or architecture frameworks. It defines a collection of viewpoints on models."/>
+ </eAnnotations>
+ <eOperations name="ceationCommandClassExists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" unique="false" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EDiagnosticChain"/>
+ <eParameters name="context" unique="false">
+ <eGenericType eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conversionCommandClassExists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" unique="false" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EDiagnosticChain"/>
+ <eParameters name="context" unique="false">
+ <eGenericType eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="viewpoints" upperBound="-1"
+ eType="#//ArchitectureViewpoint" containment="true" eOpposite="#//ArchitectureViewpoint/context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of viewpoints defined by the context"/>
+ <details key="propertyDescription" value="The set of viewpoints defined by the context"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="defaultViewpoints" upperBound="-1"
+ eType="#//ArchitectureViewpoint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of viewpoints that are selected for the context by default"/>
+ <details key="propertyDescription" value="The set of viewpoints that are selected for the context by default"/>
+ <details key="propertyCategory" value="Context"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elementTypes" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.ecore#//ElementTypeSetConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of element type set configurations that are used by the context (typically found in .elementtypesconfigurations resources)"/>
+ <details key="propertyDescription" value="The set of element type set configurations that are used by the context (typically found in .elementtypesconfigurations resources)"/>
+ <details key="propertyCategory" value="Context"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="domain" lowerBound="1"
+ eType="#//ArchitectureDomain" eOpposite="#//ArchitectureDomain/contexts">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The domain that defines the context"/>
+ <details key="propertyDescription" value="The domain that defines the context"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="extensionPrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The prefix of the file extension of the UML models applying this context (e.g., <Name>.<prefixExtension>.uml)"/>
+ <details key="propertyDescription" value="The prefix of the file extension of the UML models applying this context (e.g., <Name>.<prefixExtension>.uml)"/>
+ <details key="propertyCategory" value="Context"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationCommandClass" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The fully qualified name of a command that creates models applying this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand inteface"/>
+ <details key="propertyDescription" value="The fully qualified name of a command that creates models applying this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand inteface"/>
+ <details key="propertyCategory" value="Context"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="conversionCommandClass"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The fully qualified name of a command that refactors models that switched to this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand inteface"/>
+ <details key="propertyDescription" value="The fully qualified name of a command that refactors models that switched to this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand inteface"/>
+ <details key="propertyCategory" value="Context"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitectureFramework" eSuperTypes="#//ArchitectureContext">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A framework (from ISO 42010) represents in Papyrus a modeling framework (e.g., DoDAF). It has a unique id' that corresponds to that of an ''IClientContext from GMF. It references a set of element type set configurations, a creation command (creates a model of this framework), a conversion command (converts a model to this framework), and an icon. It also has an optional extension prefix for its models. It can also contain a set of viewpoints."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDescription">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An element that is added to a DI model to record the id of the architecture context applied to a model set"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="contextId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The id of the context applied to a UML model"/>
+ <details key="propertyDescription" value="The id of the context applied to a UML model"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDescriptionPreferences">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An element that is added to a DI model to record the architecture preferences used by a model set"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="viewpointIds" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of ids of viewpoints enabled on a UML model"/>
+ <details key="propertyDescription" value="The set of ids of viewpoints enabled on a UML model"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore_diagram b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore_diagram
new file mode 100644
index 0000000..fca39ee
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore_diagram
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_jPuUwLeqEearJ4erliAKEg" type="Ecore" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_jpWVsLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jph74LeqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpnbcLeqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpnbcbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpnbcreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpoCgLeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpoCgbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpoCgreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpoCg7eqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpoChLeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpoChbeqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ADElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpWVsbeqEearJ4erliAKEg" x="234" y="63"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jpopkLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jpopkreqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jppQoLeqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jppQobeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jppQoreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jppQo7eqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jppQpLeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jppQpbeqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jppQpreqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jppQp7eqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jppQqLeqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpopkbeqEearJ4erliAKEg" x="99" y="198"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jpqewLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jprF0LeqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jprF0beqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jprF0reqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jprF07eqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jprF1LeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jprF1beqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jprF1reqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jprs4LeqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jprs4beqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jprs4reqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpqewbeqEearJ4erliAKEg" x="270" y="378"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jprs47eqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jpsT8LeqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpsT8beqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpsT8reqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpsT87eqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpsT9LeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpsT9beqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpsT9reqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpsT97eqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpsT-LeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpsT-beqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jprs5LeqEearJ4erliAKEg" x="54" y="324" width="109"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jps7ALeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jps7AreqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jps7A7eqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jps7BLeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jps7BbeqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jps7BreqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jps7B7eqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jps7CLeqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jps7CbeqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jps7CreqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jps7C7eqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jps7AbeqEearJ4erliAKEg" x="99" y="486" width="109"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jptiELeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jpuJILeqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpuJIbeqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpuJIreqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpuJI7eqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpuJJLeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpuJJbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpuJJreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpuwMLeqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpuwMbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpuwMreqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jptiEbeqEearJ4erliAKEg" x="513" y="486" width="172"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jpvXQLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jpvXQreqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpvXQ7eqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpvXRLeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpvXRbeqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpv-ULeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpv-UbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpv-UreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpv-U7eqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpv-VLeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpv-VbeqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpvXQbeqEearJ4erliAKEg" x="297" y="486"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jpv-VreqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jpwlYLeqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpwlYbeqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpwlYreqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpwlY7eqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpwlZLeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpwlZbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpwlZreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpxMcLeqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpxMcbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxMcreqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpv-V7eqEearJ4erliAKEg" x="351" y="171"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jpxMc7eqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jpxzgLeqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpxzgbeqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpxzgreqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxzg7eqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpxzhLeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpxzhbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxzhreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpxzh7eqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpxziLeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxzibeqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpxMdLeqEearJ4erliAKEg" x="450" y="378"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jpyakLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jpzBoLeqEearJ4erliAKEg" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpzBobeqEearJ4erliAKEg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpzBoreqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpzBo7eqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpzBpLeqEearJ4erliAKEg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpzBpbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpzBpreqEearJ4erliAKEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jpzosLeqEearJ4erliAKEg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jpzosbeqEearJ4erliAKEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jpzosreqEearJ4erliAKEg"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescription"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpyakbeqEearJ4erliAKEg" x="414" y="36"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_UOZmMAP_EeeD5ZWpL2ysEA" type="2001" fontName=".SF NS Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_UOa0UAP_EeeD5ZWpL2ysEA" type="5001"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UOa0UQP_EeeD5ZWpL2ysEA" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UOa0UgP_EeeD5ZWpL2ysEA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UOa0UwP_EeeD5ZWpL2ysEA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UOa0VAP_EeeD5ZWpL2ysEA" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UOa0VQP_EeeD5ZWpL2ysEA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UOa0VgP_EeeD5ZWpL2ysEA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UObbYAP_EeeD5ZWpL2ysEA" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UObbYQP_EeeD5ZWpL2ysEA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UObbYgP_EeeD5ZWpL2ysEA"/>
+ </children>
+ <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionPreferences"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UOZmMQP_EeeD5ZWpL2ysEA" x="-5" y="20"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_jPuUwbeqEearJ4erliAKEg"/>
+ <element xmi:type="ecore:EPackage" href="Architecture.ecore#/"/>
+ <edges xmi:type="notation:Connector" xmi:id="_jvgBALeqEearJ4erliAKEg" type="4003" source="_jpopkLeqEearJ4erliAKEg" target="_jprs47eqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jvgoELeqEearJ4erliAKEg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jvgoEbeqEearJ4erliAKEg" x="24" y="34"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jvgoEreqEearJ4erliAKEg" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jvgoE7eqEearJ4erliAKEg" x="-2" y="-18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jvgBAbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jvgBAreqEearJ4erliAKEg" points="[-8, 0, 37, -74]$[-8, 74, 37, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B0LeqEearJ4erliAKEg" id="(0.4953271028037383,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B0beqEearJ4erliAKEg" id="(0.49295774647887325,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jv_wQLeqEearJ4erliAKEg" type="4003" source="_jpopkLeqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwAXULeqEearJ4erliAKEg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwAXUbeqEearJ4erliAKEg" x="96" y="-29"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwAXUreqEearJ4erliAKEg" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwAXU7eqEearJ4erliAKEg" x="13" y="10"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jv_wQbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/concerns"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jv_wQreqEearJ4erliAKEg" points="[19, 0, 52, -200]$[19, 200, 52, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B1LeqEearJ4erliAKEg" id="(0.6635514018691588,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B1beqEearJ4erliAKEg" id="(0.35714285714285715,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwEBsLeqEearJ4erliAKEg" type="4003" source="_jpopkLeqEearJ4erliAKEg" target="_jpv-VreqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwEowLeqEearJ4erliAKEg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwEowbeqEearJ4erliAKEg" x="46" y="14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwEowreqEearJ4erliAKEg" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwEow7eqEearJ4erliAKEg" x="-6" y="-13"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwEBsbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/contexts"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwEBsreqEearJ4erliAKEg" points="[18, -34, -193, 45]$[163, -34, -48, 45]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzztbeqEearJ4erliAKEg" id="(0.8317757009345794,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy0awLeqEearJ4erliAKEg" id="(0.24299065420560748,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwITILeqEearJ4erliAKEg" type="4004" source="_jpopkLeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwITIbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwITIreqEearJ4erliAKEg" points="[19, -52, -106, 135]$[19, -106, -106, 81]$[109, -106, -16, 81]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B0reqEearJ4erliAKEg" id="(0.24299065420560748,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B07eqEearJ4erliAKEg" id="(0.12121212121212122,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwMkkLeqEearJ4erliAKEg" type="4003" source="_jpqewLeqEearJ4erliAKEg" target="_jpvXQLeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwMkk7eqEearJ4erliAKEg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwMklLeqEearJ4erliAKEg" x="15" y="46"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwMklbeqEearJ4erliAKEg" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwMklreqEearJ4erliAKEg" x="-5" y="-17"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwMkkbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwMkkreqEearJ4erliAKEg" points="[69, 0, -24, -56]$[69, 56, -24, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o4LeqEearJ4erliAKEg" id="(0.07272727272727272,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o4beqEearJ4erliAKEg" id="(0.7428571428571429,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwPn4LeqEearJ4erliAKEg" type="4004" source="_jpqewLeqEearJ4erliAKEg" target="_jpv-VreqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwPn4beqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwPn4reqEearJ4erliAKEg" points="[104, -52, -119, 180]$[104, -109, -119, 123]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMpLeqEearJ4erliAKEg" id="(0.03636363636363636,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzsLeqEearJ4erliAKEg" id="(0.7476635514018691,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwRdELeqEearJ4erliAKEg" type="4002" source="_jprs47eqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwRdE7eqEearJ4erliAKEg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwRdFLeqEearJ4erliAKEg" x="33" y="26"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwRdFbeqEearJ4erliAKEg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwRdFreqEearJ4erliAKEg" x="-6" y="-16"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwRdEbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/concerns"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwRdEreqEearJ4erliAKEg" points="[-29, 0, -5, -47]$[-29, 47, -5, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMoLeqEearJ4erliAKEg" id="(0.6619718309859155,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMobeqEearJ4erliAKEg" id="(0.17857142857142858,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwYKwLeqEearJ4erliAKEg" type="4004" source="_jprs47eqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwYKwbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwYKwreqEearJ4erliAKEg" points="[-23, -52, -201, 261]$[-23, -250, -201, 63]$[145, -250, -33, 63]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o4reqEearJ4erliAKEg" id="(0.323943661971831,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o47eqEearJ4erliAKEg" id="(0.25,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwanALeqEearJ4erliAKEg" type="4004" source="_jps7ALeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwanAbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwanAreqEearJ4erliAKEg" points="[-54, -40, -184, 435]$[-117, -40, -247, 435]$[-117, -430, -247, 45]$[81, -430, -49, 45]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzs7eqEearJ4erliAKEg" id="(0.5,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzztLeqEearJ4erliAKEg" id="(0.3712121212121212,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwccMLeqEearJ4erliAKEg" type="4002" source="_jptiELeqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwccM7eqEearJ4erliAKEg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwccNLeqEearJ4erliAKEg" x="183" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwccNbeqEearJ4erliAKEg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwccNreqEearJ4erliAKEg" x="60" y="17"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwccMbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwccMreqEearJ4erliAKEg" points="[23, 0, 439, 52]$[23, 29, 439, 81]$[-418, 29, -2, 81]$[-418, 0, -2, 52]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P8LeqEearJ4erliAKEg" id="(0.2672413793103448,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P8beqEearJ4erliAKEg" id="(0.5178571428571429,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwgGkLeqEearJ4erliAKEg" type="4002" source="_jptiELeqEearJ4erliAKEg" target="_jpvXQLeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwgGk7eqEearJ4erliAKEg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwgGlLeqEearJ4erliAKEg" x="5" y="-8"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwgGlbeqEearJ4erliAKEg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwgGlreqEearJ4erliAKEg" x="1" y="13"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwgGkbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwgGkreqEearJ4erliAKEg" points="[-93, -25, 164, 27]$[-204, -25, 53, 27]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy0awbeqEearJ4erliAKEg" id="(0.5431034482758621,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy0awreqEearJ4erliAKEg" id="(0.49523809523809526,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwkYALeqEearJ4erliAKEg" type="4004" source="_jptiELeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwkYAbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwkYAreqEearJ4erliAKEg" points="[31, -52, 353, 423]$[31, -412, 353, 63]$[-278, -412, 44, 63]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o5LeqEearJ4erliAKEg" id="(0.7672413793103449,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o5beqEearJ4erliAKEg" id="(0.6666666666666666,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwm0QLeqEearJ4erliAKEg" type="4002" source="_jpvXQLeqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwm0Q7eqEearJ4erliAKEg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwm0RLeqEearJ4erliAKEg" x="16" y="-14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwm0RbeqEearJ4erliAKEg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwm0RreqEearJ4erliAKEg" x="-6" y="13"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwm0QbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/concerns"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwm0QreqEearJ4erliAKEg" points="[-26, -25, 115, 27]$[-115, -25, 26, 27]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMoreqEearJ4erliAKEg" id="(0.24761904761904763,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMo7eqEearJ4erliAKEg" id="(0.7678571428571429,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwrswLeqEearJ4erliAKEg" type="4004" source="_jpvXQLeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwrswbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwrswreqEearJ4erliAKEg" points="[29, 0, 78, 475]$[29, 41, 78, 516]$[344, 41, 393, 516]$[344, -430, 393, 45]$[17, -430, 66, 45]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P8reqEearJ4erliAKEg" id="(0.49523809523809526,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P87eqEearJ4erliAKEg" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwuwELeqEearJ4erliAKEg" type="4003" source="_jpv-VreqEearJ4erliAKEg" target="_jptiELeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwuwE7eqEearJ4erliAKEg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwuwFLeqEearJ4erliAKEg" x="171" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jwuwFbeqEearJ4erliAKEg" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jwuwFreqEearJ4erliAKEg" x="24" y="28"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwuwEbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/viewpoints"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwuwEreqEearJ4erliAKEg" points="[100, -69, -55, -261]$[208, -69, 53, -261]$[208, 192, 53, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyylkLeqEearJ4erliAKEg" id="(0.4953271028037383,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyylkbeqEearJ4erliAKEg" id="(0.5344827586206896,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jwyacLeqEearJ4erliAKEg" type="4004" source="_jpv-VreqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jwyacbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwyacreqEearJ4erliAKEg" points="[-33, -91, 122, 108]$[-33, -118, 122, 81]$[-133, -118, 22, 81]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P9LeqEearJ4erliAKEg" id="(0.7476635514018691,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P9beqEearJ4erliAKEg" id="(0.8333333333333334,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_jw02sLeqEearJ4erliAKEg" type="4004" source="_jpxMc7eqEearJ4erliAKEg" target="_jpv-VreqEearJ4erliAKEg" routing="Rectilinear">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jw02sbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jw02sreqEearJ4erliAKEg" points="[-32, -52, 64, 180]$[-32, -109, 64, 123]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzsbeqEearJ4erliAKEg" id="(0.7851239669421488,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzsreqEearJ4erliAKEg" id="(0.4953271028037383,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nPrvwDGnEeeThtX0CLDTfA" type="4002" source="_jpv-VreqEearJ4erliAKEg" target="_jptiELeqEearJ4erliAKEg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPsW0DGnEeeThtX0CLDTfA" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPsW0TGnEeeThtX0CLDTfA" x="124" y="46"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPsW0jGnEeeThtX0CLDTfA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPsW0zGnEeeThtX0CLDTfA" x="11" y="28"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_nPrvwTGnEeeThtX0CLDTfA" fontName=".SF NS Text"/>
+ <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/defaultViewpoints"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nPrvwjGnEeeThtX0CLDTfA" points="[22, 3, -41, -263]$[58, 3, -5, -263]$[58, 237, -5, -29]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nPxPUDGnEeeThtX0CLDTfA" id="(0.8888888888888888,0.6341463414634146)"/>
+ </edges>
+</notation:Diagram>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.genmodel b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.genmodel
new file mode 100644
index 0000000..ef3d448
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.genmodel
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2017 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
 https://www.eclipse.org/legal/epl-2.0/

 SPDX-License-Identifier: EPL-2.0

 Contributors:
 Maged Elaasar - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.infra.core.architecture/src-gen" editDirectory="/org.eclipse.papyrus.infra.core.architecture.edit/src-gen"
+ editorDirectory="" modelPluginID="org.eclipse.papyrus.infra.core.architecture"
+ modelName="Architecture" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+ testsDirectory="" importerID="org.eclipse.emf.importer.ecore" featureDelegation="Dynamic"
+ complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.genmodel#//types"
+ operationReflection="true" importOrganizing="true" cleanup="true">
+ <foreignModel>Architecture.ecore</foreignModel>
+ <genPackages prefix="Architecture" basePackage="org.eclipse.papyrus.infra.core"
+ disposableProviderFactory="true" extensibleProviderFactory="true" ecorePackage="Architecture.ecore#/">
+ <genClasses image="false" ecoreClass="Architecture.ecore#//ADElement">
+ <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The unique id of the element"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/id"/>
+ <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The name of the element"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/name"/>
+ <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The description of the element"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/description"/>
+ <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The qualified name of the element"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/qualifiedName"/>
+ <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The icon of the element specified using a platform plugin URI"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/icon"/>
+ </genClasses>
+ <genClasses ecoreClass="Architecture.ecore#//ArchitectureDomain">
+ <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of stakeholders defined by the domain"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+ <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of concerns defined by the domain"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDomain/concerns"/>
+ <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of contexts defined by the domain"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDomain/contexts"/>
+ </genClasses>
+ <genClasses ecoreClass="Architecture.ecore#//ArchitectureDescriptionLanguage">
+ <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of representation kinds defined by the language"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+ <genFeatures notify="false" createChild="false" propertyCategory="Description Language"
+ propertyDescription="The metamodel used by the language" propertySortChoices="true"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDescriptionLanguage/metamodel"/>
+ <genFeatures notify="false" createChild="false" propertyCategory="Description Language"
+ propertyDescription="The set of UML profiles used by the language" propertySortChoices="true"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDescriptionLanguage/profiles"/>
+ </genClasses>
+ <genClasses ecoreClass="Architecture.ecore#//Stakeholder">
+ <genFeatures notify="false" createChild="false" propertyCategory="Stakeholder"
+ propertyDescription="The set of concerns of the stakeholder" propertySortChoices="true"
+ ecoreFeature="ecore:EReference Architecture.ecore#//Stakeholder/concerns"/>
+ <genFeatures property="None" notify="false" createChild="false" propertyDescription="The domain that defines the stakeholder"
+ ecoreFeature="ecore:EReference Architecture.ecore#//Stakeholder/domain"/>
+ </genClasses>
+ <genClasses ecoreClass="Architecture.ecore#//Concern">
+ <genFeatures property="None" notify="false" createChild="false" propertyDescription="The domain that defines the concern"
+ ecoreFeature="ecore:EReference Architecture.ecore#//Concern/domain"/>
+ </genClasses>
+ <genClasses ecoreClass="Architecture.ecore#//ArchitectureViewpoint">
+ <genFeatures notify="false" createChild="false" propertyCategory="Viewpoint"
+ propertyDescription="The set of concerns covered by the viewpoint" propertySortChoices="true"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+ <genFeatures notify="false" createChild="false" propertyCategory="Viewpoint"
+ propertyDescription="The set of representation kinds provided by the viewpoint"
+ propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+ <genFeatures property="None" notify="false" createChild="false" propertyDescription="The context that defines the viewpoint"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureViewpoint/context"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="Architecture.ecore#//RepresentationKind">
+ <genFeatures property="None" notify="false" createChild="false" propertyDescription="The language that defines the representation kind"
+ ecoreFeature="ecore:EReference Architecture.ecore#//RepresentationKind/language"/>
+ <genFeatures notify="false" createChild="false" propertyCategory="Representation Kind"
+ propertyDescription="The set of concerns covered by the representation kind"
+ propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//RepresentationKind/concerns"/>
+ <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The icon of the element specified using a platform plugin URI"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//RepresentationKind/grayedIcon"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="Architecture.ecore#//ArchitectureContext">
+ <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of viewpoints defined by the context"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/viewpoints"/>
+ <genFeatures notify="false" createChild="false" propertyCategory="Context" propertyDescription="The set of viewpoints that are selected for the context by default"
+ propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/defaultViewpoints"/>
+ <genFeatures notify="false" createChild="false" propertyCategory="Context" propertyDescription="The set of element type set configurations that are used by the context (typically found in .elementtypesconfigurations resources)"
+ propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/elementTypes"/>
+ <genFeatures property="None" notify="false" createChild="false" propertyDescription="The domain that defines the context"
+ ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/domain"/>
+ <genFeatures createChild="false" propertyCategory="Context" propertyDescription="The prefix of the file extension of the UML models applying this context (e.g., <Name>.<prefixExtension>.uml)"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureContext/extensionPrefix"/>
+ <genFeatures createChild="false" propertyCategory="Context" propertyDescription="The fully qualified name of a command that creates models applying this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand inteface"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureContext/creationCommandClass"/>
+ <genFeatures createChild="false" propertyCategory="Context" propertyDescription="The fully qualified name of a command that refactors models that switched to this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand inteface"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureContext/conversionCommandClass"/>
+ <genOperations ecoreOperation="Architecture.ecore#//ArchitectureContext/ceationCommandClassExists">
+ <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/ceationCommandClassExists/diagnostics"/>
+ <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/ceationCommandClassExists/context"/>
+ </genOperations>
+ <genOperations ecoreOperation="Architecture.ecore#//ArchitectureContext/conversionCommandClassExists">
+ <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/conversionCommandClassExists/diagnostics"/>
+ <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/conversionCommandClassExists/context"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="Architecture.ecore#//ArchitectureFramework"/>
+ <genClasses ecoreClass="Architecture.ecore#//ArchitectureDescription">
+ <genFeatures createChild="false" propertyDescription="The id of the context applied to a UML model"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureDescription/contextId"/>
+ </genClasses>
+ <genClasses ecoreClass="Architecture.ecore#//ArchitectureDescriptionPreferences">
+ <genFeatures createChild="false" propertyDescription="The set of ids of viewpoints enabled on a UML model"
+ ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureDescriptionPreferences/viewpointIds"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.uml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.uml
new file mode 100644
index 0000000..4cadc77
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.uml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Model xmi:id="_46bO0F_sEeecE-N4uvmt0g" name="architecture" URI="http://www.eclipse.org/papyrus/infra/core/architecture">
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bO0V_sEeecE-N4uvmt0g" name="ADElement" isAbstract="true">
+ <ownedAttribute xmi:id="_46bO0l_sEeecE-N4uvmt0g" name="id" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO01_sEeecE-N4uvmt0g" name="name" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO1F_sEeecE-N4uvmt0g" name="description" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO1V_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO1l_sEeecE-N4uvmt0g" name="qualifiedName" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO11_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO2F_sEeecE-N4uvmt0g" name="icon" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO2V_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bO2l_sEeecE-N4uvmt0g" name="ArchitectureDomain">
+ <generalization xmi:id="_46bO21_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bO3F_sEeecE-N4uvmt0g" name="stakeholders" type="_46bO5V_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bO8V_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO3V_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO3l_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO31_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bO7l_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO4F_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO4V_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO4l_sEeecE-N4uvmt0g" name="contexts" type="_46bO8l_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bPM1_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO41_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO5F_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bO5V_sEeecE-N4uvmt0g" name="Stakeholder">
+ <generalization xmi:id="_46bO5l_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bO51_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" association="_46bO71_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO6F_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO6V_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO6l_sEeecE-N4uvmt0g" name="domain" type="_46bO2l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bO8V_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bO61_sEeecE-N4uvmt0g" name="Concern">
+ <generalization xmi:id="_46bO7F_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bO7V_sEeecE-N4uvmt0g" name="domain" type="_46bO2l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bO7l_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bO7l_sEeecE-N4uvmt0g" memberEnd="_46bO31_sEeecE-N4uvmt0g _46bO7V_sEeecE-N4uvmt0g"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bO71_sEeecE-N4uvmt0g" memberEnd="_46bO51_sEeecE-N4uvmt0g _46bO8F_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bO8F_sEeecE-N4uvmt0g" type="_46bO5V_sEeecE-N4uvmt0g" association="_46bO71_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bO8V_sEeecE-N4uvmt0g" memberEnd="_46bO3F_sEeecE-N4uvmt0g _46bO6l_sEeecE-N4uvmt0g"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bO8l_sEeecE-N4uvmt0g" name="ArchitectureContext" isAbstract="true">
+ <generalization xmi:id="_46bO81_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bO9F_sEeecE-N4uvmt0g" name="viewpoints" type="_46bPC1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bPLl_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO9V_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO9l_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO91_sEeecE-N4uvmt0g" name="defaultViewpoints" type="_46bPC1_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPL1_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO-F_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO-V_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO-l_sEeecE-N4uvmt0g" name="elementTypes" isOrdered="true" association="_46bPMV_sEeecE-N4uvmt0g">
+ <type xmi:type="uml:Class" href="ElementTypesConfigurations.uml#_44q7UV_sEeecE-N4uvmt0g"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO-1_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO_F_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bO_V_sEeecE-N4uvmt0g" name="domain" type="_46bO2l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPM1_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bO_l_sEeecE-N4uvmt0g" name="extensionPrefix" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO_1_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bPAF_sEeecE-N4uvmt0g" name="creationCommandClass" visibility="public" type="_46bPBF_sEeecE-N4uvmt0g" isOrdered="true"/>
+ <ownedAttribute xmi:id="_46bPAV_sEeecE-N4uvmt0g" name="conversionCommandClass" visibility="public" type="_46bPCF_sEeecE-N4uvmt0g" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPAl_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_46bPA1_sEeecE-N4uvmt0g" name="Wildcard"/>
+ <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="_46bPBF_sEeecE-N4uvmt0g" name="EJavaClass_Wildcard">
+ <templateBinding xmi:id="_46bPBV_sEeecE-N4uvmt0g">
+ <parameterSubstitution xmi:id="_46bPBl_sEeecE-N4uvmt0g" actual="_46bPA1_sEeecE-N4uvmt0g">
+ <formal xmi:type="uml:ClassifierTemplateParameter" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0-_ownedParameter.0"/>
+ </parameterSubstitution>
+ <signature xmi:type="uml:RedefinableTemplateSignature" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0"/>
+ </templateBinding>
+ </nestedClassifier>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_46bPB1_sEeecE-N4uvmt0g" name="Wildcard"/>
+ <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="_46bPCF_sEeecE-N4uvmt0g" name="EJavaClass_Wildcard">
+ <templateBinding xmi:id="_46bPCV_sEeecE-N4uvmt0g">
+ <parameterSubstitution xmi:id="_46bPCl_sEeecE-N4uvmt0g" actual="_46bPB1_sEeecE-N4uvmt0g">
+ <formal xmi:type="uml:ClassifierTemplateParameter" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0-_ownedParameter.0"/>
+ </parameterSubstitution>
+ <signature xmi:type="uml:RedefinableTemplateSignature" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0"/>
+ </templateBinding>
+ </nestedClassifier>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bPC1_sEeecE-N4uvmt0g" name="ArchitectureViewpoint">
+ <generalization xmi:id="_46bPDF_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bPDV_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPFF_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPDl_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPD1_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bPEF_sEeecE-N4uvmt0g" name="representationKinds" type="_46bPFl_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPLF_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPEV_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPEl_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bPE1_sEeecE-N4uvmt0g" name="context" type="_46bO8l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPLl_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPFF_sEeecE-N4uvmt0g" memberEnd="_46bPDV_sEeecE-N4uvmt0g _46bPFV_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bPFV_sEeecE-N4uvmt0g" type="_46bPC1_sEeecE-N4uvmt0g" association="_46bPFF_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bPFl_sEeecE-N4uvmt0g" name="RepresentationKind" isAbstract="true">
+ <generalization xmi:id="_46bPF1_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bPGF_sEeecE-N4uvmt0g" name="language" type="_46bPHF_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPJV_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bPGV_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPKl_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPGl_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPG1_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_3prHYMrzEem0O816XhrVeA" name="grayedIcon" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3prHYcrzEem0O816XhrVeA"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bPHF_sEeecE-N4uvmt0g" name="ArchitectureDescriptionLanguage">
+ <generalization xmi:id="_46bPHV_sEeecE-N4uvmt0g" general="_46bO8l_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bPHl_sEeecE-N4uvmt0g" name="representationKinds" type="_46bPFl_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bPJV_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPH1_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPIF_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_46bPIV_sEeecE-N4uvmt0g" name="metamodel" isOrdered="true" association="_46bPJl_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_46bPIl_sEeecE-N4uvmt0g" name="profiles" isOrdered="true" association="_46bPKF_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPI1_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPJF_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPJV_sEeecE-N4uvmt0g" memberEnd="_46bPHl_sEeecE-N4uvmt0g _46bPGF_sEeecE-N4uvmt0g"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPJl_sEeecE-N4uvmt0g" memberEnd="_46bPIV_sEeecE-N4uvmt0g _46bPJ1_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bPJ1_sEeecE-N4uvmt0g" type="_46bPHF_sEeecE-N4uvmt0g" association="_46bPJl_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPKF_sEeecE-N4uvmt0g" memberEnd="_46bPIl_sEeecE-N4uvmt0g _46bPKV_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bPKV_sEeecE-N4uvmt0g" type="_46bPHF_sEeecE-N4uvmt0g" association="_46bPKF_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPKl_sEeecE-N4uvmt0g" memberEnd="_46bPGV_sEeecE-N4uvmt0g _46bPK1_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bPK1_sEeecE-N4uvmt0g" type="_46bPFl_sEeecE-N4uvmt0g" association="_46bPKl_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPLF_sEeecE-N4uvmt0g" memberEnd="_46bPEF_sEeecE-N4uvmt0g _46bPLV_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bPLV_sEeecE-N4uvmt0g" type="_46bPC1_sEeecE-N4uvmt0g" association="_46bPLF_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPLl_sEeecE-N4uvmt0g" memberEnd="_46bO9F_sEeecE-N4uvmt0g _46bPE1_sEeecE-N4uvmt0g"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPL1_sEeecE-N4uvmt0g" memberEnd="_46bO91_sEeecE-N4uvmt0g _46bPMF_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bPMF_sEeecE-N4uvmt0g" type="_46bO8l_sEeecE-N4uvmt0g" association="_46bPL1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPMV_sEeecE-N4uvmt0g" memberEnd="_46bO-l_sEeecE-N4uvmt0g _46bPMl_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_46bPMl_sEeecE-N4uvmt0g" type="_46bO8l_sEeecE-N4uvmt0g" association="_46bPMV_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_46bPM1_sEeecE-N4uvmt0g" memberEnd="_46bO4l_sEeecE-N4uvmt0g _46bO_V_sEeecE-N4uvmt0g"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bPNF_sEeecE-N4uvmt0g" name="ArchitectureFramework">
+ <generalization xmi:id="_46bPNV_sEeecE-N4uvmt0g" general="_46bO8l_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bPNl_sEeecE-N4uvmt0g" name="ArchitectureDescription">
+ <ownedAttribute xmi:id="_46bPN1_sEeecE-N4uvmt0g" name="contextId" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPOF_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_46bPOV_sEeecE-N4uvmt0g" name="ArchitectureDescriptionPreferences">
+ <ownedAttribute xmi:id="_46bPOl_sEeecE-N4uvmt0g" name="viewpointIds" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPO1_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPPF_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <profileApplication xmi:id="_46bPPV_sEeecE-N4uvmt0g">
+ <eAnnotations xmi:id="_46bPPl_sEeecE-N4uvmt0g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Model>
+ <Ecore:EPackage xmi:id="_46bPP1_sEeecE-N4uvmt0g" base_Package="_46bO0F_sEeecE-N4uvmt0g" nsPrefix="architecture" basePackage="org.eclipse.papyrus.infra.core"/>
+ <Ecore:EClass xmi:id="_46bPQF_sEeecE-N4uvmt0g" base_Class="_46bO0V_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPQV_sEeecE-N4uvmt0g" base_Class="_46bO2l_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPQl_sEeecE-N4uvmt0g" base_Property="_46bO3F_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPQ1_sEeecE-N4uvmt0g" base_Property="_46bO31_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPRF_sEeecE-N4uvmt0g" base_Property="_46bO4l_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPRV_sEeecE-N4uvmt0g" base_Class="_46bO5V_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPRl_sEeecE-N4uvmt0g" base_Property="_46bO51_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPR1_sEeecE-N4uvmt0g" base_Property="_46bO6l_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPSF_sEeecE-N4uvmt0g" base_Class="_46bO61_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPSV_sEeecE-N4uvmt0g" base_Property="_46bO7V_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPSl_sEeecE-N4uvmt0g" base_Class="_46bO8l_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPS1_sEeecE-N4uvmt0g" base_Property="_46bO9F_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPTF_sEeecE-N4uvmt0g" base_Property="_46bO91_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPTV_sEeecE-N4uvmt0g" base_Property="_46bO-l_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPTl_sEeecE-N4uvmt0g" base_Property="_46bO_V_sEeecE-N4uvmt0g"/>
+ <Ecore:EGenericType xmi:id="_46bPT1_sEeecE-N4uvmt0g" base_Class="_46bPA1_sEeecE-N4uvmt0g"/>
+ <Ecore:EGenericType xmi:id="_46bPUF_sEeecE-N4uvmt0g" base_DataType="_46bPBF_sEeecE-N4uvmt0g"/>
+ <Ecore:EGenericType xmi:id="_46bPUV_sEeecE-N4uvmt0g" base_Class="_46bPB1_sEeecE-N4uvmt0g"/>
+ <Ecore:EGenericType xmi:id="_46bPUl_sEeecE-N4uvmt0g" base_DataType="_46bPCF_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPU1_sEeecE-N4uvmt0g" base_Class="_46bPC1_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPVF_sEeecE-N4uvmt0g" base_Property="_46bPDV_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPVV_sEeecE-N4uvmt0g" base_Property="_46bPEF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPVl_sEeecE-N4uvmt0g" base_Property="_46bPE1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPV1_sEeecE-N4uvmt0g" base_Class="_46bPFl_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPWF_sEeecE-N4uvmt0g" base_Property="_46bPGF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPWV_sEeecE-N4uvmt0g" base_Property="_46bPGV_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPWl_sEeecE-N4uvmt0g" base_Class="_46bPHF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPW1_sEeecE-N4uvmt0g" base_Property="_46bPHl_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPXF_sEeecE-N4uvmt0g" base_Property="_46bPIV_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_46bPXV_sEeecE-N4uvmt0g" base_Property="_46bPIl_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPXl_sEeecE-N4uvmt0g" base_Class="_46bPNF_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPX1_sEeecE-N4uvmt0g" base_Class="_46bPNl_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_46bPYF_sEeecE-N4uvmt0g" base_Class="_46bPOV_sEeecE-N4uvmt0g"/>
+</xmi:XMI>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/ElementTypesConfigurations.uml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/ElementTypesConfigurations.uml
new file mode 100644
index 0000000..18f519c
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/ElementTypesConfigurations.uml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Model xmi:id="_44q7UF_sEeecE-N4uvmt0g" name="types" URI="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2">
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7UV_sEeecE-N4uvmt0g" name="ElementTypeSetConfiguration">
+ <generalization xmi:id="_44q7Ul_sEeecE-N4uvmt0g" general="_44q7XF_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7U1_sEeecE-N4uvmt0g" name="elementTypeConfigurations" type="_44q7Y1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7dl_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7VF_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7VV_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7Vl_sEeecE-N4uvmt0g" name="adviceBindingsConfigurations" type="_44q7eF_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7ol_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7V1_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7WF_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7WV_sEeecE-N4uvmt0g" name="metamodelNsURI" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ <interfaceRealization xmi:id="_44q7Wl_sEeecE-N4uvmt0g" client="_44q7UV_sEeecE-N4uvmt0g" supplier="_44q7X1_sEeecE-N4uvmt0g" contract="_44q7X1_sEeecE-N4uvmt0g"/>
+ <interfaceRealization xmi:id="_44q7W1_sEeecE-N4uvmt0g" client="_44q7UV_sEeecE-N4uvmt0g" supplier="_44q7YV_sEeecE-N4uvmt0g" contract="_44q7YV_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7XF_sEeecE-N4uvmt0g" name="ConfigurationElement" isAbstract="true">
+ <ownedAttribute xmi:id="_44q7XV_sEeecE-N4uvmt0g" name="description" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7Xl_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_44q7X1_sEeecE-N4uvmt0g" name="IdentifiedConfiguration">
+ <ownedAttribute xmi:id="_44q7YF_sEeecE-N4uvmt0g" name="identifier" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_44q7YV_sEeecE-N4uvmt0g" name="NamedConfiguration">
+ <ownedAttribute xmi:id="_44q7Yl_sEeecE-N4uvmt0g" name="name" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7Y1_sEeecE-N4uvmt0g" name="ElementTypeConfiguration" isAbstract="true">
+ <generalization xmi:id="_44q7ZF_sEeecE-N4uvmt0g" general="_44q7XF_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7ZV_sEeecE-N4uvmt0g" name="hint" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7Zl_sEeecE-N4uvmt0g"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_44q7Z1_sEeecE-N4uvmt0g" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </defaultValue>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7aF_sEeecE-N4uvmt0g" name="kind" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7aV_sEeecE-N4uvmt0g"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_44q7al_sEeecE-N4uvmt0g" value="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </defaultValue>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7a1_sEeecE-N4uvmt0g" name="iconEntry" type="_44q7b1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7dF_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7bF_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <interfaceRealization xmi:id="_44q7bV_sEeecE-N4uvmt0g" client="_44q7Y1_sEeecE-N4uvmt0g" supplier="_44q7X1_sEeecE-N4uvmt0g" contract="_44q7X1_sEeecE-N4uvmt0g"/>
+ <interfaceRealization xmi:id="_44q7bl_sEeecE-N4uvmt0g" client="_44q7Y1_sEeecE-N4uvmt0g" supplier="_44q7YV_sEeecE-N4uvmt0g" contract="_44q7YV_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7b1_sEeecE-N4uvmt0g" name="IconEntry">
+ <ownedAttribute xmi:id="_44q7cF_sEeecE-N4uvmt0g" name="iconPath" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7cV_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7cl_sEeecE-N4uvmt0g" name="bundleId" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7c1_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7dF_sEeecE-N4uvmt0g" memberEnd="_44q7a1_sEeecE-N4uvmt0g _44q7dV_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7dV_sEeecE-N4uvmt0g" type="_44q7Y1_sEeecE-N4uvmt0g" association="_44q7dF_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7dl_sEeecE-N4uvmt0g" memberEnd="_44q7U1_sEeecE-N4uvmt0g _44q7d1_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7d1_sEeecE-N4uvmt0g" type="_44q7UV_sEeecE-N4uvmt0g" association="_44q7dl_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7eF_sEeecE-N4uvmt0g" name="AbstractAdviceBindingConfiguration" isAbstract="true">
+ <generalization xmi:id="_44q7eV_sEeecE-N4uvmt0g" general="_44q7gl_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7el_sEeecE-N4uvmt0g" name="target" type="_44q7Y1_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7jl_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7e1_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7fF_sEeecE-N4uvmt0g" name="containerConfiguration" type="_44q7kF_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7m1_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7fV_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7fl_sEeecE-N4uvmt0g" name="matcherConfiguration" type="_44q7ll_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7nV_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7f1_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7gF_sEeecE-N4uvmt0g" name="inheritance" visibility="public" type="_44q7n1_sEeecE-N4uvmt0g" isOrdered="true"/>
+ <interfaceRealization xmi:id="_44q7gV_sEeecE-N4uvmt0g" client="_44q7eF_sEeecE-N4uvmt0g" supplier="_44q7X1_sEeecE-N4uvmt0g" contract="_44q7X1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7gl_sEeecE-N4uvmt0g" name="AdviceConfiguration" isAbstract="true">
+ <generalization xmi:id="_44q7g1_sEeecE-N4uvmt0g" general="_44q7XF_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7hF_sEeecE-N4uvmt0g" name="before" type="_44q7gl_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7il_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7hV_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7hl_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7h1_sEeecE-N4uvmt0g" name="after" type="_44q7gl_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7jF_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7iF_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7iV_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7il_sEeecE-N4uvmt0g" memberEnd="_44q7hF_sEeecE-N4uvmt0g _44q7i1_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7i1_sEeecE-N4uvmt0g" type="_44q7gl_sEeecE-N4uvmt0g" association="_44q7il_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7jF_sEeecE-N4uvmt0g" memberEnd="_44q7h1_sEeecE-N4uvmt0g _44q7jV_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7jV_sEeecE-N4uvmt0g" type="_44q7gl_sEeecE-N4uvmt0g" association="_44q7jF_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7jl_sEeecE-N4uvmt0g" memberEnd="_44q7el_sEeecE-N4uvmt0g _44q7j1_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7j1_sEeecE-N4uvmt0g" type="_44q7eF_sEeecE-N4uvmt0g" association="_44q7jl_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7kF_sEeecE-N4uvmt0g" name="ContainerConfiguration">
+ <ownedAttribute xmi:id="_44q7kV_sEeecE-N4uvmt0g" name="containerMatcherConfiguration" type="_44q7ll_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7l1_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7kl_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7k1_sEeecE-N4uvmt0g" name="eContainmentFeatures" isOrdered="true" association="_44q7mV_sEeecE-N4uvmt0g">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EReference"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7lF_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7lV_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7ll_sEeecE-N4uvmt0g" name="AbstractMatcherConfiguration" isAbstract="true"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7l1_sEeecE-N4uvmt0g" memberEnd="_44q7kV_sEeecE-N4uvmt0g _44q7mF_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7mF_sEeecE-N4uvmt0g" type="_44q7kF_sEeecE-N4uvmt0g" association="_44q7l1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7mV_sEeecE-N4uvmt0g" memberEnd="_44q7k1_sEeecE-N4uvmt0g _44q7ml_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7ml_sEeecE-N4uvmt0g" type="_44q7kF_sEeecE-N4uvmt0g" association="_44q7mV_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7m1_sEeecE-N4uvmt0g" memberEnd="_44q7fF_sEeecE-N4uvmt0g _44q7nF_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7nF_sEeecE-N4uvmt0g" type="_44q7eF_sEeecE-N4uvmt0g" association="_44q7m1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7nV_sEeecE-N4uvmt0g" memberEnd="_44q7fl_sEeecE-N4uvmt0g _44q7nl_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7nl_sEeecE-N4uvmt0g" type="_44q7eF_sEeecE-N4uvmt0g" association="_44q7nV_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_44q7n1_sEeecE-N4uvmt0g" name="InheritanceKind">
+ <ownedLiteral xmi:id="_44q7oF_sEeecE-N4uvmt0g" name="none"/>
+ <ownedLiteral xmi:id="_44q7oV_sEeecE-N4uvmt0g" name="all"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7ol_sEeecE-N4uvmt0g" memberEnd="_44q7Vl_sEeecE-N4uvmt0g _44q7o1_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7o1_sEeecE-N4uvmt0g" type="_44q7UV_sEeecE-N4uvmt0g" association="_44q7ol_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7pF_sEeecE-N4uvmt0g" name="SpecializationTypeConfiguration">
+ <generalization xmi:id="_44q7pV_sEeecE-N4uvmt0g" general="_44q7Y1_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7pl_sEeecE-N4uvmt0g" name="editHelperAdviceConfiguration" type="_44q7r1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7sl_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7p1_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7qF_sEeecE-N4uvmt0g" name="containerConfiguration" type="_44q7kF_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7s1_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7qV_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7ql_sEeecE-N4uvmt0g" name="matcherConfiguration" type="_44q7ll_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7tV_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7q1_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7rF_sEeecE-N4uvmt0g" name="specializedTypes" type="_44q7Y1_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7t1_sEeecE-N4uvmt0g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7rV_sEeecE-N4uvmt0g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7rl_sEeecE-N4uvmt0g" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7r1_sEeecE-N4uvmt0g" name="AbstractEditHelperAdviceConfiguration" isAbstract="true">
+ <generalization xmi:id="_44q7sF_sEeecE-N4uvmt0g" general="_44q7gl_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7sV_sEeecE-N4uvmt0g" name="target" type="_44q7pF_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7sl_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7sl_sEeecE-N4uvmt0g" memberEnd="_44q7pl_sEeecE-N4uvmt0g _44q7sV_sEeecE-N4uvmt0g"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7s1_sEeecE-N4uvmt0g" memberEnd="_44q7qF_sEeecE-N4uvmt0g _44q7tF_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7tF_sEeecE-N4uvmt0g" type="_44q7pF_sEeecE-N4uvmt0g" association="_44q7s1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7tV_sEeecE-N4uvmt0g" memberEnd="_44q7ql_sEeecE-N4uvmt0g _44q7tl_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7tl_sEeecE-N4uvmt0g" type="_44q7pF_sEeecE-N4uvmt0g" association="_44q7tV_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7t1_sEeecE-N4uvmt0g" memberEnd="_44q7rF_sEeecE-N4uvmt0g _44q7uF_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7uF_sEeecE-N4uvmt0g" type="_44q7pF_sEeecE-N4uvmt0g" association="_44q7t1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7uV_sEeecE-N4uvmt0g" name="MetamodelTypeConfiguration">
+ <generalization xmi:id="_44q7ul_sEeecE-N4uvmt0g" general="_44q7Y1_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7u1_sEeecE-N4uvmt0g" name="eClass" isOrdered="true" association="_44q7v1_sEeecE-N4uvmt0g">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EClass"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7vF_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_44q7vV_sEeecE-N4uvmt0g" name="editHelperClassName" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7vl_sEeecE-N4uvmt0g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_44q7v1_sEeecE-N4uvmt0g" memberEnd="_44q7u1_sEeecE-N4uvmt0g _44q7wF_sEeecE-N4uvmt0g">
+ <ownedEnd xmi:id="_44q7wF_sEeecE-N4uvmt0g" type="_44q7uV_sEeecE-N4uvmt0g" association="_44q7v1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7wV_sEeecE-N4uvmt0g" name="EditHelperAdviceConfiguration">
+ <generalization xmi:id="_44q7wl_sEeecE-N4uvmt0g" general="_44q7r1_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7w1_sEeecE-N4uvmt0g" name="editHelperAdviceClassName" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7xF_sEeecE-N4uvmt0g" name="AdviceBindingConfiguration">
+ <generalization xmi:id="_44q7xV_sEeecE-N4uvmt0g" general="_44q7eF_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7xl_sEeecE-N4uvmt0g" name="editHelperAdviceClassName" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7x1_sEeecE-N4uvmt0g" name="MatcherConfiguration">
+ <generalization xmi:id="_44q7yF_sEeecE-N4uvmt0g" general="_44q7ll_sEeecE-N4uvmt0g"/>
+ <ownedAttribute xmi:id="_44q7yV_sEeecE-N4uvmt0g" name="matcherClassName" visibility="public" isOrdered="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7yl_sEeecE-N4uvmt0g" name="ExternallyRegisteredType">
+ <generalization xmi:id="_44q7y1_sEeecE-N4uvmt0g" general="_44q7Y1_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_44q7zF_sEeecE-N4uvmt0g" name="ExternallyRegisteredAdvice">
+ <generalization xmi:id="_44q7zV_sEeecE-N4uvmt0g" general="_44q7xF_sEeecE-N4uvmt0g"/>
+ </packagedElement>
+ <profileApplication xmi:id="_44q7zl_sEeecE-N4uvmt0g">
+ <eAnnotations xmi:id="_44q7z1_sEeecE-N4uvmt0g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Model>
+ <Ecore:EPackage xmi:id="_44q70F_sEeecE-N4uvmt0g" base_Package="_44q7UF_sEeecE-N4uvmt0g" nsPrefix="elementtypesconfigurations" basePackage="org.eclipse.papyrus.infra"/>
+ <Ecore:EClass xmi:id="_44q70V_sEeecE-N4uvmt0g" base_Class="_44q7UV_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q70l_sEeecE-N4uvmt0g" base_Property="_44q7U1_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q701_sEeecE-N4uvmt0g" base_Property="_44q7Vl_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q71F_sEeecE-N4uvmt0g" base_Class="_44q7XF_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q71V_sEeecE-N4uvmt0g" base_Interface="_44q7X1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q71l_sEeecE-N4uvmt0g" base_Interface="_44q7YV_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q711_sEeecE-N4uvmt0g" base_Class="_44q7Y1_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q72F_sEeecE-N4uvmt0g" base_Property="_44q7a1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q72V_sEeecE-N4uvmt0g" base_Class="_44q7b1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q72l_sEeecE-N4uvmt0g" base_Class="_44q7eF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q721_sEeecE-N4uvmt0g" base_Property="_44q7el_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q73F_sEeecE-N4uvmt0g" base_Property="_44q7fF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q73V_sEeecE-N4uvmt0g" base_Property="_44q7fl_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q73l_sEeecE-N4uvmt0g" base_Class="_44q7gl_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q731_sEeecE-N4uvmt0g" base_Property="_44q7hF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q74F_sEeecE-N4uvmt0g" base_Property="_44q7h1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44q74V_sEeecE-N4uvmt0g" base_Class="_44q7kF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q74l_sEeecE-N4uvmt0g" base_Property="_44q7kV_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44q741_sEeecE-N4uvmt0g" base_Property="_44q7k1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44riYF_sEeecE-N4uvmt0g" base_Class="_44q7ll_sEeecE-N4uvmt0g"/>
+ <Ecore:EEnum xmi:id="_44riYV_sEeecE-N4uvmt0g" base_Enumeration="_44q7n1_sEeecE-N4uvmt0g"/>
+ <Ecore:EEnumLiteral xmi:id="_44riYl_sEeecE-N4uvmt0g" base_EnumerationLiteral="_44q7oF_sEeecE-N4uvmt0g" literal="none"/>
+ <Ecore:EEnumLiteral xmi:id="_44riY1_sEeecE-N4uvmt0g" base_EnumerationLiteral="_44q7oV_sEeecE-N4uvmt0g" literal="all"/>
+ <Ecore:EClass xmi:id="_44riZF_sEeecE-N4uvmt0g" base_Class="_44q7pF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44riZV_sEeecE-N4uvmt0g" base_Property="_44q7pl_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44riZl_sEeecE-N4uvmt0g" base_Property="_44q7qF_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44riZ1_sEeecE-N4uvmt0g" base_Property="_44q7ql_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44riaF_sEeecE-N4uvmt0g" base_Property="_44q7rF_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44riaV_sEeecE-N4uvmt0g" base_Class="_44q7r1_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44rial_sEeecE-N4uvmt0g" base_Property="_44q7sV_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44ria1_sEeecE-N4uvmt0g" base_Class="_44q7uV_sEeecE-N4uvmt0g"/>
+ <Ecore:EReference xmi:id="_44ribF_sEeecE-N4uvmt0g" base_Property="_44q7u1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44ribV_sEeecE-N4uvmt0g" base_Class="_44q7wV_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44ribl_sEeecE-N4uvmt0g" base_Class="_44q7xF_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44rib1_sEeecE-N4uvmt0g" base_Class="_44q7x1_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44ricF_sEeecE-N4uvmt0g" base_Class="_44q7yl_sEeecE-N4uvmt0g"/>
+ <Ecore:EClass xmi:id="_44ricV_sEeecE-N4uvmt0g" base_Class="_44q7zF_sEeecE-N4uvmt0g"/>
+</xmi:XMI>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.properties b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.properties
new file mode 100644
index 0000000..15ff81a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.properties
@@ -0,0 +1,16 @@
+* Copyright (c) 2017 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:
+# Maged Elaasar - Initial API and implementation
+#
+#
+
+pluginName = Architecture Model (CDO Version)
+providerName=Eclipse Modeling Project
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.xml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.xml
new file mode 100644
index 0000000..017a4a6
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+* Copyright (c) 2020 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:
+ Eike Stepper - Initial API and implementation
+
+
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/infra/core/architecture"
+ class="org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.core.architecture.impl.ArchitectureFactoryImpl" />
+ </extension>
+
+</plugin>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/pom.xml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/pom.xml
new file mode 100644
index 0000000..c3fa630
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <artifactId>org.eclipse.papyrus.cdo-bundles</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.core.architecture.cdo</artifactId>
+ <version>2.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ADElementImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ADElementImpl.java
new file mode 100644
index 0000000..5da1c11
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ADElementImpl.java
@@ -0,0 +1,329 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.infra.core.architecture.ADElement;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>AD Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getQualifiedName <em>Qualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getIcon <em>Icon</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ADElementImpl extends CDOObjectImpl implements ADElement {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getQualifiedName() <em>Qualified Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final String QUALIFIED_NAME_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getIcon() <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ADElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.AD_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__ID, ArchitecturePackage.Literals.AD_ELEMENT__ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ eDynamicSet(ArchitecturePackage.AD_ELEMENT__ID, ArchitecturePackage.Literals.AD_ELEMENT__ID, newId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__NAME, ArchitecturePackage.Literals.AD_ELEMENT__NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ eDynamicSet(ArchitecturePackage.AD_ELEMENT__NAME, ArchitecturePackage.Literals.AD_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDescription() {
+ return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__DESCRIPTION, ArchitecturePackage.Literals.AD_ELEMENT__DESCRIPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDescription(String newDescription) {
+ eDynamicSet(ArchitecturePackage.AD_ELEMENT__DESCRIPTION, ArchitecturePackage.Literals.AD_ELEMENT__DESCRIPTION, newDescription);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getQualifiedName() {
+ String qualifiedName = getName();
+ ADElement parent = (ADElement) eContainer();
+ while (parent != null) {
+ qualifiedName = parent.getName() + "::" + qualifiedName;
+ parent = (ADElement) parent.eContainer();
+ }
+ return qualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getIcon() {
+ return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__ICON, ArchitecturePackage.Literals.AD_ELEMENT__ICON, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIcon(String newIcon) {
+ eDynamicSet(ArchitecturePackage.AD_ELEMENT__ICON, ArchitecturePackage.Literals.AD_ELEMENT__ICON, newIcon);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.AD_ELEMENT__ID:
+ return getId();
+ case ArchitecturePackage.AD_ELEMENT__NAME:
+ return getName();
+ case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+ return getDescription();
+ case ArchitecturePackage.AD_ELEMENT__QUALIFIED_NAME:
+ return getQualifiedName();
+ case ArchitecturePackage.AD_ELEMENT__ICON:
+ return getIcon();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.AD_ELEMENT__ID:
+ setId((String) newValue);
+ return;
+ case ArchitecturePackage.AD_ELEMENT__NAME:
+ setName((String) newValue);
+ return;
+ case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+ setDescription((String) newValue);
+ return;
+ case ArchitecturePackage.AD_ELEMENT__ICON:
+ setIcon((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.AD_ELEMENT__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case ArchitecturePackage.AD_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case ArchitecturePackage.AD_ELEMENT__ICON:
+ setIcon(ICON_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.AD_ELEMENT__ID:
+ return ID_EDEFAULT == null ? getId() != null : !ID_EDEFAULT.equals(getId());
+ case ArchitecturePackage.AD_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? getDescription() != null : !DESCRIPTION_EDEFAULT.equals(getDescription());
+ case ArchitecturePackage.AD_ELEMENT__QUALIFIED_NAME:
+ return QUALIFIED_NAME_EDEFAULT == null ? getQualifiedName() != null : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+ case ArchitecturePackage.AD_ELEMENT__ICON:
+ return ICON_EDEFAULT == null ? getIcon() != null : !ICON_EDEFAULT.equals(getIcon());
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ADElementImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureContextImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureContextImpl.java
new file mode 100644
index 0000000..6d8d58e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureContextImpl.java
@@ -0,0 +1,546 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+import org.eclipse.papyrus.infra.core.architecture.util.ArchitectureValidator;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.osgi.framework.Bundle;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Context</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getViewpoints <em>Viewpoints</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getDefaultViewpoints <em>Default Viewpoints</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getElementTypes <em>Element Types</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getDomain <em>Domain</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getExtensionPrefix <em>Extension Prefix</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getCreationCommandClass <em>Creation Command Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getConversionCommandClass <em>Conversion Command Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ArchitectureContextImpl extends ADElementImpl implements ArchitectureContext {
+ /**
+ * The default value of the '{@link #getExtensionPrefix() <em>Extension Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getExtensionPrefix()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXTENSION_PREFIX_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getCreationCommandClass() <em>Creation Command Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getCreationCommandClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String CREATION_COMMAND_CLASS_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getConversionCommandClass() <em>Conversion Command Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getConversionCommandClass()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONVERSION_COMMAND_CLASS_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ArchitectureContextImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ArchitectureViewpoint> getViewpoints() {
+ return (EList<ArchitectureViewpoint>) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__VIEWPOINTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ArchitectureViewpoint> getDefaultViewpoints() {
+ return (EList<ArchitectureViewpoint>) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ElementTypeSetConfiguration> getElementTypes() {
+ return (EList<ElementTypeSetConfiguration>) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__ELEMENT_TYPES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getExtensionPrefix() {
+ return (String) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setExtensionPrefix(String newExtensionPrefix) {
+ eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, newExtensionPrefix);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreationCommandClass() {
+ return (String) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCreationCommandClass(String newCreationCommandClass) {
+ eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, newCreationCommandClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getConversionCommandClass() {
+ return (String) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setConversionCommandClass(String newConversionCommandClass) {
+ eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, newConversionCommandClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public boolean ceationCommandClassExists(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ String creationCommandClass = getCreationCommandClass();
+ if (creationCommandClass != null) {
+ boolean exists = false;
+
+ URI uri = eResource().getURI();
+ if (uri.isPlatformPlugin()) {
+ String bundleName = uri.segment(1);
+ Bundle bundle = Platform.getBundle(bundleName);
+ try {
+ exists = bundle.loadClass(creationCommandClass) != null;
+ } catch (ClassNotFoundException e) {
+ /* ignore */
+ }
+ } else if (uri.isPlatformResource()) {
+ String projectName = uri.segment(1);
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ IJavaProject javaProject = JavaCore.create(project);
+ try {
+ exists = javaProject.findType(creationCommandClass) != null;
+ } catch (JavaModelException e) {
+ /* ignore */
+ }
+ }
+
+ if (!exists) {
+ if (diagnostics != null) {
+ diagnostics.add(new BasicDiagnostic(Diagnostic.ERROR,
+ ArchitectureValidator.DIAGNOSTIC_SOURCE,
+ ArchitectureValidator.ARCHITECTURE_CONTEXT__CEATION_COMMAND_CLASS_EXISTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ceationCommandClassExists", EObjectValidator.getObjectLabel(this, context) }), //$NON-NLS-1$ //$NON-NLS-2$
+ new Object[] { this }));
+ }
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public boolean conversionCommandClassExists(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ String conversionCommandClass = getConversionCommandClass();
+ if (conversionCommandClass != null) {
+ boolean exists = false;
+
+ URI uri = eResource().getURI();
+ if (uri.isPlatformPlugin()) {
+ String bundleName = uri.segment(1);
+ Bundle bundle = Platform.getBundle(bundleName);
+ try {
+ exists = bundle.loadClass(conversionCommandClass) != null;
+ } catch (ClassNotFoundException e) {
+ /* ignore */
+ }
+ } else if (uri.isPlatformResource()) {
+ String projectName = uri.segment(1);
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ IJavaProject javaProject = JavaCore.create(project);
+ try {
+ exists = javaProject.findType(conversionCommandClass) != null;
+ } catch (JavaModelException e) {
+ /* ignore */
+ }
+ }
+
+ if (!exists) {
+ if (diagnostics != null) {
+ diagnostics.add(new BasicDiagnostic(Diagnostic.ERROR,
+ ArchitectureValidator.DIAGNOSTIC_SOURCE,
+ ArchitectureValidator.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS_EXISTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conversionCommandClassExists", EObjectValidator.getObjectLabel(this, context) }), //$NON-NLS-1$ //$NON-NLS-2$
+ new Object[] { this }));
+ }
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitectureDomain getDomain() {
+ return (ArchitectureDomain) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__DOMAIN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDomain(ArchitectureDomain newDomain, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject) newDomain, ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDomain(ArchitectureDomain newDomain) {
+ eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__DOMAIN, newDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+ return ((InternalEList<InternalEObject>) (InternalEList<?>) getViewpoints()).basicAdd(otherEnd, msgs);
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetDomain((ArchitectureDomain) otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+ return ((InternalEList<?>) getViewpoints()).basicRemove(otherEnd, msgs);
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+ return basicSetDomain(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+ return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS, ArchitectureDomain.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+ return getViewpoints();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+ return getDefaultViewpoints();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+ return getElementTypes();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+ return getDomain();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+ return getExtensionPrefix();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+ return getCreationCommandClass();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+ return getConversionCommandClass();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+ getViewpoints().clear();
+ getViewpoints().addAll((Collection<? extends ArchitectureViewpoint>) newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+ getDefaultViewpoints().clear();
+ getDefaultViewpoints().addAll((Collection<? extends ArchitectureViewpoint>) newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+ getElementTypes().clear();
+ getElementTypes().addAll((Collection<? extends ElementTypeSetConfiguration>) newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+ setDomain((ArchitectureDomain) newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+ setExtensionPrefix((String) newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+ setCreationCommandClass((String) newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+ setConversionCommandClass((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+ getViewpoints().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+ getDefaultViewpoints().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+ getElementTypes().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+ setDomain((ArchitectureDomain) null);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+ setExtensionPrefix(EXTENSION_PREFIX_EDEFAULT);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+ setCreationCommandClass(CREATION_COMMAND_CLASS_EDEFAULT);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+ setConversionCommandClass(CONVERSION_COMMAND_CLASS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+ return !getViewpoints().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+ return !getDefaultViewpoints().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+ return !getElementTypes().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+ return getDomain() != null;
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+ return EXTENSION_PREFIX_EDEFAULT == null ? getExtensionPrefix() != null : !EXTENSION_PREFIX_EDEFAULT.equals(getExtensionPrefix());
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+ return CREATION_COMMAND_CLASS_EDEFAULT == null ? getCreationCommandClass() != null : !CREATION_COMMAND_CLASS_EDEFAULT.equals(getCreationCommandClass());
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+ return CONVERSION_COMMAND_CLASS_EDEFAULT == null ? getConversionCommandClass() != null : !CONVERSION_COMMAND_CLASS_EDEFAULT.equals(getConversionCommandClass());
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT___CEATION_COMMAND_CLASS_EXISTS__DIAGNOSTICCHAIN_MAP:
+ return ceationCommandClassExists((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case ArchitecturePackage.ARCHITECTURE_CONTEXT___CONVERSION_COMMAND_CLASS_EXISTS__DIAGNOSTICCHAIN_MAP:
+ return conversionCommandClassExists((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ArchitectureContextImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionImpl.java
new file mode 100644
index 0000000..fad428a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionImpl.java
@@ -0,0 +1,154 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescription;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionImpl#getContextId <em>Context Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDescriptionImpl extends CDOObjectImpl implements ArchitectureDescription {
+ /**
+ * The default value of the '{@link #getContextId() <em>Context Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContextId()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTEXT_ID_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getContextId() {
+ return (String)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setContextId(String newContextId) {
+ eDynamicSet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, newContextId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+ return getContextId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+ setContextId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+ setContextId(CONTEXT_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+ return CONTEXT_ID_EDEFAULT == null ? getContextId() != null : !CONTEXT_ID_EDEFAULT.equals(getContextId());
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ArchitectureDescriptionImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionLanguageImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionLanguageImpl.java
new file mode 100644
index 0000000..c4d7f9c
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionLanguageImpl.java
@@ -0,0 +1,231 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+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.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.impl.ArchitectureContextImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description Language</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionLanguageImpl#getRepresentationKinds <em>Representation Kinds</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionLanguageImpl#getMetamodel <em>Metamodel</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionLanguageImpl#getProfiles <em>Profiles</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDescriptionLanguageImpl extends ArchitectureContextImpl implements ArchitectureDescriptionLanguage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureDescriptionLanguageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<RepresentationKind> getRepresentationKinds() {
+ return (EList<RepresentationKind>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EPackage getMetamodel() {
+ return (EPackage)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EPackage basicGetMetamodel() {
+ return (EPackage)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setMetamodel(EPackage newMetamodel) {
+ eDynamicSet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, newMetamodel);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<EPackage> getProfiles() {
+ return (EList<EPackage>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRepresentationKinds()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+ return ((InternalEList<?>)getRepresentationKinds()).basicRemove(otherEnd, 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 ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+ return getRepresentationKinds();
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+ if (resolve) {
+ return getMetamodel();
+ }
+ return basicGetMetamodel();
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+ return getProfiles();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+ getRepresentationKinds().clear();
+ getRepresentationKinds().addAll((Collection<? extends RepresentationKind>)newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+ setMetamodel((EPackage)newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+ getProfiles().clear();
+ getProfiles().addAll((Collection<? extends EPackage>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+ getRepresentationKinds().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+ setMetamodel((EPackage)null);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+ getProfiles().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+ return !getRepresentationKinds().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+ return basicGetMetamodel() != null;
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+ return !getProfiles().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ArchitectureDescriptionLanguageImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionPreferencesImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionPreferencesImpl.java
new file mode 100644
index 0000000..b66902f
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionPreferencesImpl.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionPreferences;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description Preferences</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionPreferencesImpl#getViewpointIds <em>Viewpoint Ids</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDescriptionPreferencesImpl extends CDOObjectImpl implements ArchitectureDescriptionPreferences {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureDescriptionPreferencesImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_PREFERENCES;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<String> getViewpointIds() {
+ return (EList<String>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+ return getViewpointIds();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+ getViewpointIds().clear();
+ getViewpointIds().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+ getViewpointIds().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+ return !getViewpointIds().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ArchitectureDescriptionPreferencesImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDomainImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDomainImpl.java
new file mode 100644
index 0000000..d382779
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDomainImpl.java
@@ -0,0 +1,221 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.Stakeholder;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Domain</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDomainImpl#getStakeholders <em>Stakeholders</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDomainImpl#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDomainImpl#getContexts <em>Contexts</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDomainImpl extends ADElementImpl implements ArchitectureDomain {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureDomainImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Stakeholder> getStakeholders() {
+ return (EList<Stakeholder>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS, ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN__STAKEHOLDERS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Concern> getConcerns() {
+ return (EList<Concern>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS, ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN__CONCERNS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ArchitectureContext> getContexts() {
+ return (EList<ArchitectureContext>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS, ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN__CONTEXTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getStakeholders()).basicAdd(otherEnd, msgs);
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getConcerns()).basicAdd(otherEnd, msgs);
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getContexts()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+ return ((InternalEList<?>)getStakeholders()).basicRemove(otherEnd, msgs);
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+ return ((InternalEList<?>)getConcerns()).basicRemove(otherEnd, msgs);
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+ return ((InternalEList<?>)getContexts()).basicRemove(otherEnd, 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 ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+ return getStakeholders();
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+ return getConcerns();
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+ return getContexts();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+ getStakeholders().clear();
+ getStakeholders().addAll((Collection<? extends Stakeholder>)newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+ getConcerns().clear();
+ getConcerns().addAll((Collection<? extends Concern>)newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+ getContexts().clear();
+ getContexts().addAll((Collection<? extends ArchitectureContext>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+ getStakeholders().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+ getConcerns().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+ getContexts().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+ return !getStakeholders().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+ return !getConcerns().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+ return !getContexts().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ArchitectureDomainImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFactoryImpl.java
new file mode 100644
index 0000000..a26b15a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFactoryImpl.java
@@ -0,0 +1,221 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescription;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionPreferences;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureFactory;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureFramework;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.Stakeholder;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ArchitectureFactoryImpl extends EFactoryImpl implements ArchitectureFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static ArchitectureFactory init() {
+ try {
+ ArchitectureFactory theArchitectureFactory = (ArchitectureFactory) EPackage.Registry.INSTANCE.getEFactory(ArchitecturePackage.eNS_URI);
+ if (theArchitectureFactory != null) {
+ return theArchitectureFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ArchitectureFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ArchitectureFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ArchitecturePackage.ARCHITECTURE_DOMAIN:
+ return createArchitectureDomain();
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE:
+ return createArchitectureDescriptionLanguage();
+ case ArchitecturePackage.STAKEHOLDER:
+ return createStakeholder();
+ case ArchitecturePackage.CONCERN:
+ return createConcern();
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT:
+ return createArchitectureViewpoint();
+ case ArchitecturePackage.ARCHITECTURE_FRAMEWORK:
+ return createArchitectureFramework();
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION:
+ return createArchitectureDescription();
+ case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES:
+ return createArchitectureDescriptionPreferences();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitectureDomain createArchitectureDomain() {
+ ArchitectureDomainImpl architectureDomain = new ArchitectureDomainImpl();
+ return architectureDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitectureDescriptionLanguage createArchitectureDescriptionLanguage() {
+ ArchitectureDescriptionLanguageImpl architectureDescriptionLanguage = new ArchitectureDescriptionLanguageImpl();
+ return architectureDescriptionLanguage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Stakeholder createStakeholder() {
+ StakeholderImpl stakeholder = new StakeholderImpl();
+ return stakeholder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Concern createConcern() {
+ ConcernImpl concern = new ConcernImpl();
+ return concern;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitectureViewpoint createArchitectureViewpoint() {
+ ArchitectureViewpointImpl architectureViewpoint = new ArchitectureViewpointImpl();
+ return architectureViewpoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitectureFramework createArchitectureFramework() {
+ ArchitectureFrameworkImpl architectureFramework = new ArchitectureFrameworkImpl();
+ return architectureFramework;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitectureDescription createArchitectureDescription() {
+ ArchitectureDescriptionImpl architectureDescription = new ArchitectureDescriptionImpl();
+ return architectureDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitectureDescriptionPreferences createArchitectureDescriptionPreferences() {
+ ArchitectureDescriptionPreferencesImpl architectureDescriptionPreferences = new ArchitectureDescriptionPreferencesImpl();
+ return architectureDescriptionPreferences;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ArchitecturePackage getArchitecturePackage() {
+ return (ArchitecturePackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ArchitecturePackage getPackage() {
+ return ArchitecturePackage.eINSTANCE;
+ }
+
+} // ArchitectureFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFrameworkImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFrameworkImpl.java
new file mode 100644
index 0000000..80bf5fe
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFrameworkImpl.java
@@ -0,0 +1,50 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureFramework;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.impl.ArchitectureContextImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Framework</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ArchitectureFrameworkImpl extends ArchitectureContextImpl implements ArchitectureFramework {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureFrameworkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ARCHITECTURE_FRAMEWORK;
+ }
+
+} //ArchitectureFrameworkImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureViewpointImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureViewpointImpl.java
new file mode 100644
index 0000000..78cac92
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureViewpointImpl.java
@@ -0,0 +1,245 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+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.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Viewpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureViewpointImpl#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureViewpointImpl#getRepresentationKinds <em>Representation Kinds</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureViewpointImpl#getContext <em>Context</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureViewpointImpl extends ADElementImpl implements ArchitectureViewpoint {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureViewpointImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Concern> getConcerns() {
+ return (EList<Concern>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__CONCERNS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<RepresentationKind> getRepresentationKinds() {
+ return (EList<RepresentationKind>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ArchitectureContext getContext() {
+ return (ArchitectureContext)eDynamicGet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__CONTEXT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetContext(ArchitectureContext newContext, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newContext, ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setContext(ArchitectureContext newContext) {
+ eDynamicSet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__CONTEXT, newContext);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetContext((ArchitectureContext)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+ return basicSetContext(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+ return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS, ArchitectureContext.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+ return getConcerns();
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+ return getRepresentationKinds();
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+ return getContext();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+ getConcerns().clear();
+ getConcerns().addAll((Collection<? extends Concern>)newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+ getRepresentationKinds().clear();
+ getRepresentationKinds().addAll((Collection<? extends RepresentationKind>)newValue);
+ return;
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+ setContext((ArchitectureContext)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+ getConcerns().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+ getRepresentationKinds().clear();
+ return;
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+ setContext((ArchitectureContext)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+ return !getConcerns().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+ return !getRepresentationKinds().isEmpty();
+ case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+ return getContext() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ArchitectureViewpointImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ConcernImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ConcernImpl.java
new file mode 100644
index 0000000..4d24b15
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ConcernImpl.java
@@ -0,0 +1,193 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Concern</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ConcernImpl#getDomain <em>Domain</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConcernImpl extends ADElementImpl implements Concern {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConcernImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.CONCERN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ArchitectureDomain getDomain() {
+ return (ArchitectureDomain)eDynamicGet(ArchitecturePackage.CONCERN__DOMAIN, ArchitecturePackage.Literals.CONCERN__DOMAIN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDomain(ArchitectureDomain newDomain, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newDomain, ArchitecturePackage.CONCERN__DOMAIN, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDomain(ArchitectureDomain newDomain) {
+ eDynamicSet(ArchitecturePackage.CONCERN__DOMAIN, ArchitecturePackage.Literals.CONCERN__DOMAIN, newDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.CONCERN__DOMAIN:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetDomain((ArchitectureDomain)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.CONCERN__DOMAIN:
+ return basicSetDomain(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case ArchitecturePackage.CONCERN__DOMAIN:
+ return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS, ArchitectureDomain.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.CONCERN__DOMAIN:
+ return getDomain();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.CONCERN__DOMAIN:
+ setDomain((ArchitectureDomain)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.CONCERN__DOMAIN:
+ setDomain((ArchitectureDomain)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.CONCERN__DOMAIN:
+ return getDomain() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConcernImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/RepresentationKindImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/RepresentationKindImpl.java
new file mode 100644
index 0000000..0cc7fb8
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/RepresentationKindImpl.java
@@ -0,0 +1,261 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+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.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Representation Kind</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.RepresentationKindImpl#getLanguage <em>Language</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.RepresentationKindImpl#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.RepresentationKindImpl#getGrayedIcon <em>Grayed Icon</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class RepresentationKindImpl extends ADElementImpl implements RepresentationKind {
+ /**
+ * The default value of the '{@link #getGrayedIcon() <em>Grayed Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGrayedIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final String GRAYED_ICON_EDEFAULT = null;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RepresentationKindImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.REPRESENTATION_KIND;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Concern> getConcerns() {
+ return (EList<Concern>)eDynamicGet(ArchitecturePackage.REPRESENTATION_KIND__CONCERNS, ArchitecturePackage.Literals.REPRESENTATION_KIND__CONCERNS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getGrayedIcon() {
+ return (String)eDynamicGet(ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON, ArchitecturePackage.Literals.REPRESENTATION_KIND__GRAYED_ICON, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setGrayedIcon(String newGrayedIcon) {
+ eDynamicSet(ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON, ArchitecturePackage.Literals.REPRESENTATION_KIND__GRAYED_ICON, newGrayedIcon);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ArchitectureDescriptionLanguage getLanguage() {
+ return (ArchitectureDescriptionLanguage)eDynamicGet(ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE, ArchitecturePackage.Literals.REPRESENTATION_KIND__LANGUAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLanguage(ArchitectureDescriptionLanguage newLanguage, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newLanguage, ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLanguage(ArchitectureDescriptionLanguage newLanguage) {
+ eDynamicSet(ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE, ArchitecturePackage.Literals.REPRESENTATION_KIND__LANGUAGE, newLanguage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetLanguage((ArchitectureDescriptionLanguage)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+ return basicSetLanguage(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+ return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS, ArchitectureDescriptionLanguage.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+ return getLanguage();
+ case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+ return getConcerns();
+ case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+ return getGrayedIcon();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+ setLanguage((ArchitectureDescriptionLanguage)newValue);
+ return;
+ case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+ getConcerns().clear();
+ getConcerns().addAll((Collection<? extends Concern>)newValue);
+ return;
+ case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+ setGrayedIcon((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+ setLanguage((ArchitectureDescriptionLanguage)null);
+ return;
+ case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+ getConcerns().clear();
+ return;
+ case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+ setGrayedIcon(GRAYED_ICON_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+ return getLanguage() != null;
+ case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+ return !getConcerns().isEmpty();
+ case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+ return GRAYED_ICON_EDEFAULT == null ? getGrayedIcon() != null : !GRAYED_ICON_EDEFAULT.equals(getGrayedIcon());
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RepresentationKindImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/StakeholderImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/StakeholderImpl.java
new file mode 100644
index 0000000..fc8fce1
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/StakeholderImpl.java
@@ -0,0 +1,221 @@
+/**
+* Copyright (c) 2017 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:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+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.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.Stakeholder;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.StakeholderImpl#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.StakeholderImpl#getDomain <em>Domain</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StakeholderImpl extends ADElementImpl implements Stakeholder {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StakeholderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.STAKEHOLDER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Concern> getConcerns() {
+ return (EList<Concern>)eDynamicGet(ArchitecturePackage.STAKEHOLDER__CONCERNS, ArchitecturePackage.Literals.STAKEHOLDER__CONCERNS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ArchitectureDomain getDomain() {
+ return (ArchitectureDomain)eDynamicGet(ArchitecturePackage.STAKEHOLDER__DOMAIN, ArchitecturePackage.Literals.STAKEHOLDER__DOMAIN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDomain(ArchitectureDomain newDomain, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newDomain, ArchitecturePackage.STAKEHOLDER__DOMAIN, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDomain(ArchitectureDomain newDomain) {
+ eDynamicSet(ArchitecturePackage.STAKEHOLDER__DOMAIN, ArchitecturePackage.Literals.STAKEHOLDER__DOMAIN, newDomain);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+ if (eInternalContainer() != null) {
+ msgs = eBasicRemoveFromContainer(msgs);
+ }
+ return basicSetDomain((ArchitectureDomain)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+ return basicSetDomain(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+ return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS, ArchitectureDomain.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+ return getConcerns();
+ case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+ return getDomain();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+ getConcerns().clear();
+ getConcerns().addAll((Collection<? extends Concern>)newValue);
+ return;
+ case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+ setDomain((ArchitectureDomain)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+ getConcerns().clear();
+ return;
+ case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+ setDomain((ArchitectureDomain)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+ return !getConcerns().isEmpty();
+ case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+ return getDomain() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StakeholderImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.classpath b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.project b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.project
new file mode 100644
index 0000000..f997d05
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.project
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.nattable.model.cdo</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.resources.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.runtime.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.core.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e622598
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,297 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.ui.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.pde.api.tools.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/META-INF/MANIFEST.MF b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a8d997f
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.emf.expressions;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.emf;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.cdo.ecore;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="[4.2.0,5.0.0)"
+Export-Package: org.eclipse.papyrus.infra.nattable.model.cdo,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableproblem.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattabletester.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablewrapper.impl
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 4.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.infra.nattable.model.cdo.Activator
+Bundle-ManifestVersion: 2
+Bundle-Description: %pluginDescription
+Bundle-SymbolicName: org.eclipse.papyrus.infra.nattable.model.cdo;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.nattable.model.cdo
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/about.html b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/about.html
new file mode 100644
index 0000000..ef2872f
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 30, 2017</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 ("EPL"). A copy of the EPL is available
+at <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/build.properties b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/build.properties
new file mode 100644
index 0000000..7663594
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/build.properties
@@ -0,0 +1,23 @@
+# Copyright (c) 2013 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
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecore b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecore
new file mode 100644
index 0000000..9e60e12
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecore
@@ -0,0 +1,1098 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="nattable" nsURI="http://www.eclipse.org/papyrus/nattable/model"
+ nsPrefix="nattable">
+ <eAnnotations source="http://www.eclipse.org/OCL/Import">
+ <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="Table" eSuperTypes="#//nattableconfiguration/TableNamedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="currentRowAxisInHistory currentColumnAxisInHistory currentAxisProvidersTypes"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="currentRowAxisInHistory" value="rowAxisProvidersHistory->includes(currentRowAxisProvider)"/>
+ <details key="currentColumnAxisInHistory" value="columnAxisProvidersHistory->includes(currentColumnAxisProvider)"/>
+ <details key="currentAxisProvidersTypes" value="not (currentRowAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider) and currentColumnAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider))"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This object represents the table. It is used to save the interesting informations of the graphical table.

The currentAxisProviders can be : Master/Master, Master/Slave, Slave/Master and never Slave/Slave."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The context is used for two things : 
<ul> <li>"virtual" parent to display the table in the Papyrus Model Explorer </li>
<li>container of the objects created in the table</li>
</ul> 
The context can't be null;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="prototype" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tableConfiguration" lowerBound="1"
+ eType="#//nattableconfiguration/TableConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Reference the configuration used by the table. This field can't be null."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="invertAxis" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, the axis will be inverted on the screen. When the user inverts the axis, 
only this boolean is changed. We must not invert the currentRowAxis and the currentColumnAxis neither the histories or the AxisConfiguration"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columnAxisProvidersHistory"
+ lowerBound="1" upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This list contains all the columns configurations already used by the user and saved in this list by him."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rowAxisProvidersHistory"
+ lowerBound="1" upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This list contains all the rowsconfigurations already used by the user and saved in this list by him."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localRowHeaderAxisConfiguration"
+ eType="#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field contains the row headerAxisConfiguration. It could be null. 
In this case we use the row TableHeaderAxisConfiguration stored in the TableConfiguration of this table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localColumnHeaderAxisConfiguration"
+ eType="#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field contains the columnheaderAxisConfiguration. It could be null. 
In this case we use the column TableHeaderAxisConfiguration stored in the TableConfiguration of this table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="currentRowAxisProvider"
+ lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="References the current row AxisProvider used in the table.
The value must be owned by rowAxisProviderHistory"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="currentColumnAxisProvider"
+ lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="References the current column AxisProvider used in the table.
The value must be owned by column AxisProviderHistory"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cells" upperBound="-1"
+ eType="#//nattablecell/Cell" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Cells of the table. They are used when the value to display can't be deduced of
the intersection of the row and the column."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCellEditorConfigurations"
+ eType="#//nattablecelleditor/ICellEditorConfiguration" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="In some case (Matrix Table for example), the table can have celleditor configuration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="tableKindId" lowerBound="1"
+ eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eSubpackages name="nattableconfiguration" nsURI="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"
+ nsPrefix="nattableconfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="TableNamedElement" abstract="true"
+ eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Abstract Element used in this metamodel for named element which have a description."/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="nonEmptyName"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="nonEmptyName" value="not (name.oclIsUndefined() or name = '')"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The description of the named element."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The name of the named element."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TableConfiguration" eSuperTypes="#//nattableconfiguration/TableNamedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="defaultRowAxisProviderExistsInCollection defaultColumnAxisProviderExistsInCollection defaultAxisProvidersTypes typeNonNullNonEmpty iconPath"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="defaultRowAxisProviderExistsInCollection" value="rowAxisProviders->includes(defaultRowAxisProvider)"/>
+ <details key="defaultColumnAxisProviderExistsInCollection" value="columnAxisProviders->includes(defaultColumnAxisProvider)"/>
+ <details key="typeNonNullNonEmpty" value="not (type.oclIsUndefined() or type = '')"/>
+ <details key="iconPath" value="not (iconPath.oclIsUndefined() or iconPath = '')"/>
+ <details key="defaultAxisProvidersTypes" value="not (defaultRowAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider) and defaultColumnAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider))"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This object is used to configure a table. To create a new type of table, you must create 
a new file *.nattableConfiguration and register it using the extension point org.eclipse.papyrus.infra.nattable.configuration

the defaultAxisProviders can be : Master/Master, Master/Slave, Slave/Master and never Slave/Slave."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The type of the table. This value is used to be able to open/close easily the table editor in Papyrus. 
Moreover it allows to distinghuish easily the table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconPath" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The path of the icon to use for the table which references this TableConfiguration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="creationTester" eType="#//nattabletester/AbstractTableTester"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value could be null. The tester is used to know if this tableConfiguration can be used
to create a new table using as context the selected element."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cellEditorDeclaration"
+ lowerBound="1" eType="#//nattableconfiguration/CellEditorDeclaration" defaultValueLiteral="COLUMN">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value can't be null. Indicates how the CellEditor must be declared. 
In the common table, we display features as columns and objects as line. 
In this case the cell editors are specific to features, so the cell editor must be declared on the columns."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rowHeaderAxisConfiguration"
+ lowerBound="1" eType="#//nattableaxisconfiguration/TableHeaderAxisConfiguration"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value can't be null. Gives the initial row configuration of the table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columnHeaderAxisConfiguration"
+ lowerBound="1" eType="#//nattableaxisconfiguration/TableHeaderAxisConfiguration"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value can't be null. Gives the initial column configuration of the table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columnAxisProviders"
+ lowerBound="1" upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This list can't be empty. Contains list of possible column AxisProvider for the table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rowAxisProviders" lowerBound="1"
+ upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This list can't be empty. Contains a list of possible row AxisProvider for the table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="defaultRowAxisProvider"
+ lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value can't be null. References the Axis Provider to use by default for rows."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="defaultColumnAxisProvider"
+ lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value can't be null. References the Axis Provider to use by default for columns."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCellEditorConfigurations"
+ eType="#//nattablecelleditor/ICellEditorConfiguration" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="In some case (Matrix Table for example), the table can have celleditor configuration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="CellEditorDeclaration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates how the CellEditor must be declared. 
In the common table, we display features as columns and objects as line. 
In this case the cell editors are specific to features, so the cell editor must be declared on the columns."/>
+ </eAnnotations>
+ <eLiterals name="COLUMN"/>
+ <eLiterals name="ROW" value="1"/>
+ <eLiterals name="CELL" value="2"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattableaxisprovider" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"
+ nsPrefix="nattableaxisprovider">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractAxisProvider" abstract="true"
+ eSuperTypes="#//nattableconfiguration/TableNamedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Abstract Element for the AxisProvider. This one only provides a method getAxis()."/>
+ </eAnnotations>
+ <eOperations name="getAxis" upperBound="-1" eType="#//nattableaxis/IAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This method must returns the IAxis owned by the AxisProvider.
Warning, in case of syncrhonized table, the list often will be empty. This method
only returns the IAxis serialized in the model. Displayed elements are not necessary serialized.
"/>
+ </eAnnotations>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IMasterAxisProvider" abstract="true"
+ interface="true" eSuperTypes="#//nattableaxisprovider/AxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Interface used to distinghuish master axis provider from slave axis provider. 
The master are able to disconnect the slave."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="disconnectSlave" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="if true, the slave won't be updated when the elements owned by the master will be changed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sources" upperBound="-1"
+ eType="#//nattablewrapper/IWrapper" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field is used by Matrix Table. it replaces the context of the table as provider for the axis."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ISlaveAxisProvider" abstract="true"
+ interface="true" eSuperTypes="#//nattableaxisprovider/AxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Interface used to distinghuish the master from the slave axis provider."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AxisProvider" abstract="true" eSuperTypes="#//nattableaxisprovider/AbstractAxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="AbstractAxisProvider. This one owns IAxis"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="axis" upperBound="-1"
+ eType="#//nattableaxis/IAxis" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IAxis owned by the AxisProvider. The list can be empty in case of synchronized table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SlaveObjectAxisProvider" eSuperTypes="#//nattableaxisprovider/ISlaveAxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Concret implementation of ISlaveAxisProvider"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MasterObjectAxisProvider" eSuperTypes="#//nattableaxisprovider/IMasterAxisProvider">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Concret implementation of IMasterAxisProvider"/>
+ </eAnnotations>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattablelabelprovider" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"
+ nsPrefix="nattablelabelprovider">
+ <eClassifiers xsi:type="ecore:EClass" name="ILabelProviderConfiguration" abstract="true"
+ interface="true" eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Common Interface for LabelProviderConfiguration"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureLabelProviderConfiguration"
+ eSuperTypes="#//nattablelabelprovider/ObjectLabelProviderConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="LabelProviderConfiguration for Feature. In case of Feature. we have two display options : 
<ul><li>display the icon of the feature </li> 
<li>display the label of the feature </li>
<li>display the multiplicity of the feature </li>
<li>display the type of the feature </li>
<li>display the '/' for isDerived of the feature </li>
<li>display the name of the feature </li>
 </ul>"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayIsDerived" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, we will display the '/' for isDerived"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayType" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, we will display the typeof the feature"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayMultiplicity"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, we will display the multiplicity of the feature"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, we will display the name of the feature"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ObjectLabelProviderConfiguration"
+ eSuperTypes="#//nattablelabelprovider/ILabelProviderConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="LabelProviderConfiguration for Object. In case of Object we have two display options : 
<ul><li>display the icon of the object</li> 
<li>display the label of the object</li> </ul>"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayIcon" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, we will display the icon of the object"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayLabel" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, we will display the label of the object"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationLabelProviderConfiguration"
+ eSuperTypes="#//nattablelabelprovider/ObjectLabelProviderConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="LabelProviderConfiguration for Operation. In case of Operation, we have four display options : 
<ul><li>display the icon of the Operation</li> 
<li>display the label of the Operation</li>
<li>display the multiplicity of the Operation</li>
<li>display the type of the Operation</li>
<li>display the '/' for isDerived of the feature </li>
<li>display the name of the feature </li>
 </ul>"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayType" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayMultiplicity"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattableaxisconfiguration" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"
+ nsPrefix="nattableaxisconfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractHeaderAxisConfiguration" abstract="true"
+ eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Abstract Class for the HeaderAxisConfiguration. This class provides : 
<ul><li>informations on the appearance of the header</li>
<li> a list of label configuration which can be used by the header</li>
<li> a list of axisConfiguration. These axis configuration are used to provide the contents of the axis</li>
</ul>"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="indexStyle" lowerBound="1"
+ eType="#//nattableaxisconfiguration/AxisIndexStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value can't be null. Indicates how to display the index of the Axis : using letter or using number."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayLabel" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, the label header will be displayed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayFilter" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true AND if the axisConfiguration is used as column, the row filter will be displayed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayIndex" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, the index header will be displayed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLabelConfigurations"
+ upperBound="-1" eType="#//nattablelabelprovider/ILabelProviderConfiguration"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The list of the possible label configuration, referenced by the axis configuration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAxisConfigurations"
+ upperBound="-1" eType="#//nattableaxisconfiguration/IAxisConfiguration"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The list of the owned axis configuration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AxisManagerRepresentation" eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class is used to represents in the model the java Axis Manager."/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="nonEmptyAxisManager"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="nonEmptyAxisManager" value="not (axisManagerId.oclIsUndefined() or axisManagerId = '')"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="axisManagerId" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This id allows to find the Java Axis Manager represented by this element.
To find it you must use AxisManagerFactory.INSTANCE.getAxisManager(AxisManagerRepresentation)
To register a Java Axis Manager,you must use the extension point : org.eclipse.papyrus.infra.nattable.axismanager"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="labelProviderContext"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The context on which the label provider to use for this AxisManagerRepresentation are declared.
(see the Papyrus Label Provider Service for further informations)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="headerLabelConfiguration"
+ lowerBound="1" eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The label provider configuration to use for the header of the axis provided by the represented AxisManager"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="specificAxisConfigurations"
+ upperBound="-1" eType="#//nattableaxisconfiguration/IAxisConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A list of specific configurations to use for this axis."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AxisManagerConfiguration" eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This object allows to define and configure a Java AxisManager"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localHeaderLabelConfiguration"
+ eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Reference the local header label configuration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="axisManager" lowerBound="1"
+ eType="#//nattableaxisconfiguration/AxisManagerRepresentation">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This value can't be null. the axis manager representation"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localSpecificConfigurations"
+ upperBound="-1" eType="#//nattableaxisconfiguration/IAxisConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="specific configurations for the axis manager."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TableHeaderAxisConfiguration" eSuperTypes="#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="axisManagersIdUnique"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="axisManagersIdUnique" value="axisManagers->forAll(am1 : AxisManagerRepresentation | ( (axisManagers->excluding (am1))->forAll(am2 : AxisManagerRepresentation | am1.axisManagerId<>am2.axisManagerId) ))"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Defines the configuration of the axis in the TableConfiguration"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="axisManagers" lowerBound="1"
+ upperBound="-1" eType="#//nattableaxisconfiguration/AxisManagerRepresentation"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This list can't be empty. The list of the AxisManager used to fill the axis."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LocalTableHeaderAxisConfiguration"
+ eSuperTypes="#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Define the configuration of the axis (rows or columns) in the table."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="axisManagerConfigurations"
+ upperBound="-1" eType="#//nattableaxisconfiguration/AxisManagerConfiguration"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This list contains the configuration of the axis managers used in the table."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IAxisConfiguration" abstract="true"
+ interface="true" eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Comon Interface for axis configuration."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureAxisConfiguration" eSuperTypes="#//nattableaxisconfiguration/IAxisConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Configuration to use for Axis representing features"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="showOnlyCommonFeature"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, only the common features will be displayed on the axis."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IFillingConfiguration" abstract="true"
+ interface="true" eSuperTypes="#//nattableaxisconfiguration/IAxisConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Comon Interface for filling configurations."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeatureValueFillingConfiguration"
+ eSuperTypes="#//nattableaxisconfiguration/IFillingConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Configuration used to fill the table listening a feature of the context of the table"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="listenFeature" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field can't be null. References the feature of the context of the table to listen.
It is possible that the context doesn't have this feature."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IPasteConfiguration" eSuperTypes="#//nattableaxisconfiguration/IAxisConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Common Interface for the paste configuration."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="postActions" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field references post actions, using a string to do during the paste, after the creation of the element. "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="detachedMode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, the created elements will be added at the end of the paste and the set values
won't be do using the service edit"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PasteEObjectConfiguration" eSuperTypes="#//nattableaxisconfiguration/IPasteConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Configuration to use to paste EObject in the table."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pastedElementId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The String representing the EClass of the elements to create (see papyrus services types for further information)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pasteElementContainementFeature"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field references the feature of the context of the table in which the created element will be added."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="axisIdentifier" eType="#//nattableaxis/IAxis"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="AxisIndexStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Enumeration used to describe the possible style of the index of the headers."/>
+ </eAnnotations>
+ <eLiterals name="ALPHABETIC" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Index Headers count will be : A-B-C-...Y-Z-AA-AB-..."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="NUMERIC">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Index Headers count will be : 1-2-3-..."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TreeFillingConfiguration" eSuperTypes="#//nattableaxisconfiguration/IFillingConfiguration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="axisUsedAsAxisProvider"
+ lowerBound="1" eType="#//nattableaxis/IAxis" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pasteConfiguration" eType="#//nattableaxisconfiguration/PasteEObjectConfiguration"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="depth" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="labelProvider" lowerBound="1"
+ eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="le label provider used to display string and image for this level in the tree"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="labelProviderContext"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="filterRule" eType="ecore:EClass ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.ecore#//booleanexpressions/IBooleanEObjectExpression"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field is used to filter the elements to show for this depth. 
Only element matching the filter will be returned."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattabletester" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"
+ nsPrefix="nattabletester">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractTableTester" abstract="true"
+ eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Abstract class for the tester."/>
+ </eAnnotations>
+ <eOperations name="getTester" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Returns an object representing the tester"/>
+ </eAnnotations>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="JavaTableTester" eSuperTypes="#//nattabletester/AbstractTableTester">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class allows to references a JavaTableTester. The Java class is declared with an id, using the extension point org.eclipse.papyrus.infra.nattable.tester.
The field tester must be the id declared in this extension point."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="tester" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The id of the java tester declared using the extension point org.eclispe.papyrus.infra.nattable.tester"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattableaxis" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"
+ nsPrefix="nattableaxis">
+ <eClassifiers xsi:type="ecore:EClass" name="IAxis" abstract="true" interface="true"
+ eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Common interface for the axis of the table. (An axis is a specific row or a specific column)"/>
+ </eAnnotations>
+ <eOperations name="getElement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Returns the elements represented by the IAxis"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="getLocalLabelConfiguration" eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Returns the local label configuration to use for this IAxis. This configuration
will override the label configuration defined in the AxisManagerConfiguration."/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//nattableaxisconfiguration/AxisManagerRepresentation">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field can't be null. Reference the axis manager providing this IAxis."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An element can be displayed using an alias instead of its real name."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ITreeItemAxis" abstract="true" interface="true"
+ eSuperTypes="#//nattableaxis/IAxis">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//nattableaxis/ITreeItemAxis"
+ eOpposite="#//nattableaxis/ITreeItemAxis/children"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="expanded" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ transient="true" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//nattableaxis/ITreeItemAxis" derived="true" eOpposite="#//nattableaxis/ITreeItemAxis/parent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IdAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This obejct allows to reference an element using a string instead of referencing it directly."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IdTreeItemAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EObjectAxis" eSuperTypes="#//nattableaxis/ObjectAxis">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This IAxis allows to reference an EObject."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EObjectTreeItemAxis" eSuperTypes="#//nattableaxis/EObjectAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Abstract class used to reference features."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localLabelConfiguration"
+ eType="#//nattablelabelprovider/FeatureLabelProviderConfiguration" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Returns the local label configuration to use for this IAxis. This configuration
will override the label configuration defined in the AxisManagerConfiguration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localLabelConfiguration"
+ eType="#//nattablelabelprovider/OperationLabelProviderConfiguration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureTreeItemAxis" abstract="true"
+ eSuperTypes="#//nattableaxis/FeatureAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationTreeItemAxis" abstract="true"
+ eSuperTypes="#//nattableaxis/OperationAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ObjectAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Abstract class used to reference object"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localLabelConfiguration"
+ eType="#//nattablelabelprovider/ObjectLabelProviderConfiguration" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Returns the local label configuration to use for this IAxis. This configuration
will override the label configuration defined in the AxisManagerConfiguration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ObjectTreeItemAxis" abstract="true"
+ eSuperTypes="#//nattableaxis/ObjectAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureIdAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/FeatureAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IAxis used to represent feature using a string."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureIdTreeItemAxis" eSuperTypes="#//nattableaxis/FeatureIdAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeatureAxis" eSuperTypes="#//nattableaxis/FeatureAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IAxis used to reference EMF EStructuralFeature."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The represented EStructuralFeature."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EOperationAxis" eSuperTypes="#//nattableaxis/OperationAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IAxis used to reference EMF EOperation."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeatureTreeItemAxis" eSuperTypes="#//nattableaxis/EStructuralFeatureAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EOperationTreeItemAxis" eSuperTypes="#//nattableaxis/EOperationAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ObjectIdAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/ObjectAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IAxis used to represent object using a string."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ObjectIdTreeItemAxis" eSuperTypes="#//nattableaxis/ObjectIdAxis #//nattableaxis/ITreeItemAxis"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AxisGroup" eSuperTypes="#//nattableaxis/IAxis">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="groupedAxis" upperBound="-1"
+ eType="#//nattableaxis/IAxis"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationIdAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/OperationAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IAxis used to represent operation using a string."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationIdTreeItemAxis" eSuperTypes="#//nattableaxis/ITreeItemAxis #//nattableaxis/OperationIdAxis">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ITreeItemAxis used to represent operation using a string."/>
+ </eAnnotations>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattablecell" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablecell"
+ nsPrefix="nattablecell">
+ <eClassifiers xsi:type="ecore:EClass" name="Cell" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Cell elements used to store specific information which can't be stored in the edited model"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columnWrapper" lowerBound="1"
+ eType="#//nattablecell/ICellAxisWrapper" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The column element on which this cell must be displayed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rowWrapper" lowerBound="1"
+ eType="#//nattablecell/ICellAxisWrapper" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The row element on which this cell must be displayed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="problems" upperBound="-1"
+ eType="#//nattableproblem/Problem" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="a list of problem founds on this cell"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ICellAxisWrapper" abstract="true"
+ interface="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class encapsulates the real axis object."/>
+ </eAnnotations>
+ <eOperations name="getElement" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Return the wrapped object"/>
+ </eAnnotations>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EObjectAxisWrapper" eSuperTypes="#//nattablecell/ICellAxisWrapper">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Wrapper for EObject"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The wrapped element"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IdAxisWrapper" eSuperTypes="#//nattablecell/ICellAxisWrapper">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Wrapper for Id"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The id used to identifies an element."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattableproblem" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableproblem"
+ nsPrefix="nattableproblem">
+ <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//nattableconfiguration/TableNamedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A problem"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringResolutionProblem" eSuperTypes="#//nattableproblem/Problem">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This kind of problem is used when the user set a value as a text in a Cell and the system can't convert this string value into the correct type"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueAsString" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The text which is the source of the problem"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unresolvedString" lowerBound="1"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="the text or a substring of it, which is the source of the problem"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattablestyle" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle"
+ nsPrefix="nattablestyle">
+ <eClassifiers xsi:type="ecore:EClass" name="Style" abstract="true" interface="true"
+ eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Style from which all substyles originate"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NamedStyle" eSuperTypes="#//nattablestyle/Style">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="used to represent character and paragraph styles"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="CellTextAlignment">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Alignment of the text inside its cell"/>
+ </eAnnotations>
+ <eLiterals name="TOP_LEFT" value="1" literal="TOP_LEFT"/>
+ <eLiterals name="TOP_CENTER" value="2" literal="TOP_CENTER"/>
+ <eLiterals name="TOP_RIGHT" value="3" literal="TOP_RIGHT"/>
+ <eLiterals name="MIDDLE_LEFT" value="4" literal="MIDDLE_LEFT"/>
+ <eLiterals name="MIDDLE_CENTER" value="5" literal="MIDDLE_CENTER"/>
+ <eLiterals name="MIDDLE_RIGHT" value="6" literal="MIDDLE_RIGHT"/>
+ <eLiterals name="BOTTOM_LEFT" value="7" literal="BOTTOM_LEFT"/>
+ <eLiterals name="BOTTOM_CENTER" value="8" literal="BOTTOM_CENTER"/>
+ <eLiterals name="BOTTOM_RIGHT" value="9" literal="BOTTOM_RIGHT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FontStyle" eSuperTypes="#//nattablestyle/Style">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Font style of the cell's text"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontColor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="0"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="Tahoma"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontHeight" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="9"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="bold" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="italic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="underline" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="strikeThrough" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CellTextStyle" eSuperTypes="#//nattablestyle/Style">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Text representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="alignment" eType="#//nattablestyle/CellTextAlignment"
+ defaultValueLiteral="MIDDLE_LEFT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IntValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Int representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IntListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Int lists representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="intListValue" unique="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Boolean representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Boolean lists representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanListValue" unique="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DoubleValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Double representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="doubleValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DoubleListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Double lists representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="doubleListValue" unique="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="String representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="String lists representation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringListValue" unique="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StyledElement" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+ <eOperations name="getNamedStyle" eType="#//nattablestyle/NamedStyle">
+ <eParameters name="eClass" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+ <eParameters name="name" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eOperations>
+ <eOperations name="getStyle" eType="#//nattablestyle/Style">
+ <eParameters name="eClass" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+ </eOperations>
+ <eOperations name="createStyle" eType="#//nattablestyle/Style">
+ <eParameters name="eClass" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="styles" upperBound="-1"
+ eType="#//nattablestyle/Style" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TableDisplayStyle" eSuperTypes="#//nattablestyle/Style">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayStyle" lowerBound="1"
+ eType="#//nattablestyle/DisplayStyle" defaultValueLiteral="NORMAL"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="DisplayStyle">
+ <eLiterals name="NORMAL" literal="NORMAL"/>
+ <eLiterals name="HIERARCHIC_SINGLE_TREE_COLUMN" value="1" literal="HIERARCHIC_SINGLE_TREE_COLUMN"/>
+ <eLiterals name="HIERARCHIC_MULTI_TREE_COLUMN" value="2" literal="HIERARCHIC_MULTI_TREE_COLUMN"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EObjectValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eObjectValue" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EObjectListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eObjectValue" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattablecelleditor" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablecelleditor"
+ nsPrefix="nattablecelleditor">
+ <eClassifiers xsi:type="ecore:EClass" name="ICellEditorConfiguration" abstract="true"
+ interface="true" eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Common interface for all cell editor configuration."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cellEditorId" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ iD="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The id of the celleditor."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GenericRelationshipMatrixCellEditorConfiguration"
+ eSuperTypes="#//nattablecelleditor/IMatrixCellEditorConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Concret implementation of IMatrixRelationshipCellEditorConfiguration"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//nattablecelleditor/MatrixRelationShipDirection"
+ defaultValueLiteral="FROM_ROW_TO_COLUMN"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cellContentsFilter" eType="ecore:EClass ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.ecore#//booleanexpressions/IBooleanEObjectExpression"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field allows to the user to filter the contents of the cells."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="editedElement" eType="ecore:EClass ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.ecore#//ElementTypeConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field allows to define the kind of element to edit in the cell."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="relationshipOwnerStrategy"
+ lowerBound="1" eType="#//nattablecelleditor/MatrixRelationShipOwnerStrategy"
+ defaultValueLiteral="DEFAULT">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field is used to define the owner of relationships created editing the matrix."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="relationshipOwner" eType="#//nattablewrapper/IWrapper"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field is used only when the relationshipOwnerStrategy is set to Other."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="relationshipOwnerFeature"
+ eType="#//nattableaxis/IAxis" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field is used only when the relationshipOwnerStrategy is set to Other.
It will be used, if required, to define the feature in the relationshipOwner which will owns the created relationship"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="MatrixRelationShipDirection">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This Enumeration is used to define the direction of the relationship to display in the cell. 
In case of directed relationship and NONE selected, the cell won't be editable.
In case of non directed relationship and a direction selected, we will use get(0) and get(1) to define a fake orientation."/>
+ </eAnnotations>
+ <eLiterals name="NONE" literal="NONE"/>
+ <eLiterals name="FROM_ROW_TO_COLUMN" value="1" literal="FROM_ROW_TO_COLUMN"/>
+ <eLiterals name="FROM_COLUMN_TO_ROW" value="2" literal="FROM_COLUMN_TO_ROW"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="MatrixRelationShipOwnerStrategy">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This Enumeration is used to define the owner of relationships created editing the matrix."/>
+ </eAnnotations>
+ <eLiterals name="DEFAULT" literal="DEFAULT"/>
+ <eLiterals name="TABLE_CONTEXT" value="1" literal="TABLE_CONTEXT"/>
+ <eLiterals name="ROW_OWNER" value="2" literal="ROW_OWNER"/>
+ <eLiterals name="ROW_AS_OWNER" value="3" literal="ROW_AS_OWNER"/>
+ <eLiterals name="COLUMN_OWNER" value="4" literal="COLUMN_OWNER"/>
+ <eLiterals name="COLUMN_AS_OWNER" value="5" literal="COLUMN_AS_OWNER"/>
+ <eLiterals name="OTHER" value="6" literal="OTHER"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IMatrixCellEditorConfiguration" abstract="true"
+ interface="true" eSuperTypes="#//nattablecelleditor/ICellEditorConfiguration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Common interface for all Matrix cell editor."/>
+ </eAnnotations>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="nattablewrapper" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablewrapper"
+ nsPrefix="nattablewrapper">
+ <eClassifiers xsi:type="ecore:EClass" name="IWrapper" abstract="true" interface="true"
+ eSuperTypes="#//nattablestyle/StyledElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Common interface for all wrapped. The wrapper is used to be able to reference an
object which is not necessary an EObject. In this case, it could be referenced by as string."/>
+ </eAnnotations>
+ <eOperations name="getElement" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This method returns the wrapped element, but without solving it."/>
+ </eAnnotations>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EObjectWrapper" eSuperTypes="#//nattablewrapper/IWrapper">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class allows to wrap EObject."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IdWrapper" eSuperTypes="#//nattablewrapper/IWrapper">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class allows to reference an object identified by a string."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The wrapped element is referenced by a String"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+</ecore:EPackage>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecorediag b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecorediag
new file mode 100644
index 0000000..24a6bd5
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecorediag
@@ -0,0 +1,1001 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_UypeIJewEeKr0Yypv4rfLA" type="EcoreTools" name="nattable.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_EfChwKHtEeKNUa7kbzEWsw" type="1005">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA4KHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA4aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfMSwKHtEeKNUa7kbzEWsw" type="4010"/>
+ <children xmi:type="notation:Node" xmi:id="_EfMSwaHtEeKNUa7kbzEWsw" type="5008">
+ <children xmi:type="notation:Node" xmi:id="_hJG1UqH0EeKNUa7kbzEWsw" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/ALPHABETIC"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hJG1U6H0EeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hJG1UKH0EeKNUa7kbzEWsw" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/NUMERIC"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hJG1UaH0EeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMSwqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMSw6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMSxKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfChwaHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EEnum" href="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfChwqHtEeKNUa7kbzEWsw" x="10" y="910"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMSxaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA4qHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA46HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfMSyKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfMSyaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMSyqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMSy6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMSzKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMSzaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMSzqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMSz6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS0KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMSxqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/EStructuralFeatureAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMSx6HtEeKNUa7kbzEWsw" x="1010" y="1430" width="183"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMS3aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA5qHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA56HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfMS4KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfMS4aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS4qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS46HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS5KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMS5aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS5qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS56HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS6KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMS3qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/IAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMS36HtEeKNUa7kbzEWsw" x="1400" y="1255"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMS6aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA6KHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA6aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfMS7KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfMS7aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS7qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS76HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS8KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMS8aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS8qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS86HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS9KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMS6qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/AbstractAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMS66HtEeKNUa7kbzEWsw" x="2085" y="590" width="298" height="143"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMTDaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA7qHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA76HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfMTEKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfMTEaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTEqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTE6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTFKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMTFaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTFqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTF6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTGKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMTDqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMTD6HtEeKNUa7kbzEWsw" x="1890" y="160"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMTGaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA8KHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA8aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfMTHKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfMTHaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTHqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTH6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTIKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMTIaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTIqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTI6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTJKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMTGqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMTG6HtEeKNUa7kbzEWsw" x="295" y="1255"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfMTJaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA8qHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA86HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVcsKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVcsaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVcsqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVcs6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVctKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVctaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVctqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVct6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVcuKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMTJqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMTJ6HtEeKNUa7kbzEWsw" x="415" y="925"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVcuaHtEeKNUa7kbzEWsw" type="1005">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA9KHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA9aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVcvKHtEeKNUa7kbzEWsw" type="4010"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVcvaHtEeKNUa7kbzEWsw" type="5008">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVcvqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVcv6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVcwKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVcuqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EEnum" href="nattable.ecore#//nattableconfiguration/CellEditorDeclaration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVcu6HtEeKNUa7kbzEWsw" x="15" y="750"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVczaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA-KHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA-aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVc0KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVc0aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc0qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc06HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc1KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc1aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc1qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc16HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc2KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVczqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVcz6HtEeKNUa7kbzEWsw" x="1315" y="395"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc2aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA-qHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA-6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVc3KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVc3aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc3qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc36HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc4KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc4aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc4qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc46HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc5KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc2qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/EObjectAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc26HtEeKNUa7kbzEWsw" x="1595" y="1595"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc5aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA_KHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA_aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVc6KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVc6aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc6qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc66HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc7KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc7aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc7qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc76HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc8KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc5qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattabletester/JavaTableTester"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc56HtEeKNUa7kbzEWsw" x="2400" y="465"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc8aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA_qHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA_6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVc9KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVc9aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc9qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc96HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc-KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc-aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc-qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc-6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc_KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc8qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc86HtEeKNUa7kbzEWsw" x="850" y="400" width="228" height="88"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVc_aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBAKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBAaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVdAKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVdAaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdAqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdA6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdBKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVdBaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdBqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdB6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdCKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc_qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/ObjectAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc_6HtEeKNUa7kbzEWsw" x="1605" y="1435"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVdCaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBAqHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBA6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EfVdDKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EfVdDaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdDqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdD6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdEKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVdEaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdEqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdE6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdFKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVdCqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVdC6HtEeKNUa7kbzEWsw" x="1425" y="610"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EfVdLaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBCKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBCaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffNsKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffNsaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNsqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffNs6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffNtKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffNtaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNtqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffNt6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffNuKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVdLqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/IAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVdL6HtEeKNUa7kbzEWsw" x="80" y="355" height="93"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffNxaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBDKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBDaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffNyKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffNyaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNyqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffNy6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffNzKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffNzaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNzqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffNz6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN0KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffNxqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/FeatureIdAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffNx6HtEeKNUa7kbzEWsw" x="1255" y="1595"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffN3aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBEKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBEaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffN4KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffN4aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN4qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffN46HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN5KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffN5aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN5qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffN56HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN6KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffN3qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/ObjectIdAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffN36HtEeKNUa7kbzEWsw" x="1425" y="1595"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffN6aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBEqHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBE6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffN7KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffN7aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN7qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffN76HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN8KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffN8aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN8qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffN86HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN9KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffN6qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/FeatureAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffN66HtEeKNUa7kbzEWsw" x="1245" y="1435"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffN9aHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBFKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBFaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffN-KHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffN-aHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN-qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffN-6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN_KHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffN_aHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN_qHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffN_6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOAKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffN9qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/IdAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffN96HtEeKNUa7kbzEWsw" x="1415" y="1435"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOAaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBFqHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBF6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffOBKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffOBaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOBqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOB6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOCKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOCaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOCqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOC6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffODKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOAqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/FeatureAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOA6HtEeKNUa7kbzEWsw" x="55" y="560"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffODaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBGKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBGaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffOEKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffOEaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOEqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOE6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOFKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOFaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOFqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOF6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOGKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffODqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattabletester/AbstractTableTester"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOD6HtEeKNUa7kbzEWsw" x="2415" y="300" width="208"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOJaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBHKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBHaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffOKKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffOKaHtEeKNUa7kbzEWsw" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_hJZwTqH0EeKNUa7kbzEWsw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="nattable.ecore#//nattableconfiguration/TableNamedElement/description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hJZwT6H0EeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hJZwTKH0EeKNUa7kbzEWsw" type="2001">
+ <element xmi:type="ecore:EAttribute" href="nattable.ecore#//nattableconfiguration/TableNamedElement/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hJZwTaH0EeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOKqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOK6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOLKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOLaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOLqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOL6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOMKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOJqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableconfiguration/TableNamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOJ6HtEeKNUa7kbzEWsw" x="2550" y="140"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOMaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBHqHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBH6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffONKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffONaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffONqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffON6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOOKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOOaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOOqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOO6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOPKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOMqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/AxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOM6HtEeKNUa7kbzEWsw" x="1455" y="765"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffOPaHtEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBIKHtEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBIaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_EffOQKHtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_EffOQaHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOQqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOQ6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffORKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EffORaHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_EffORqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EffOR6HtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOSKHtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOPqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableconfiguration/TableConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOP6HtEeKNUa7kbzEWsw" x="2585" y="565" height="187"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ek_YwKHtEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_Ek_Yw6HtEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_Ek_YxKHtEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ek_YxaHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ek_YxqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ek_Yx6HtEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ek_YyKHtEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_Ek_YyaHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ek_YyqHtEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ek_Yy6HtEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_Ek_YwaHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//Table"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ek_YwqHtEeKNUa7kbzEWsw" x="2535" y="1080" height="146"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rlVcQKH3EeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rlyIMKH3EeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rlyIMaH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_rlVcQ6H3EeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_rlVcRKH3EeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_rlVcRaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rlVcRqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rlVcR6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rlVcSKH3EeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_rlVcSaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rlVcSqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rlVcS6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_rlVcQaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rlVcQqH3EeKNUa7kbzEWsw" x="785" y="1080"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjigEKH3EeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB4KH3EeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB4aH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_xjigE6H3EeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_xjigFKH3EeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigFaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjigFqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigF6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjigGKH3EeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigGaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjigGqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigG6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_xjigEaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/MasterObjectAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjigEqH3EeKNUa7kbzEWsw" x="1510" y="1170"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjigHKH3EeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB4qH3EeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB46H3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_xjigH6H3EeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_xjigIKH3EeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigIaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjigIqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigI6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjigJKH3EeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigJaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjigJqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigJ6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_xjigHaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/SlaveObjectAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjigHqH3EeKNUa7kbzEWsw" x="1730" y="1170"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjrqDKH3EeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB6KH3EeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB6aH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_xjrqD6H3EeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_xjrqEKH3EeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqEaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqEqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqE6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjrqFKH3EeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqFaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqFqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqF6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_xjrqDaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/IMasterAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjrqDqH3EeKNUa7kbzEWsw" x="1505" y="965"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjrqJKH3EeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB7KH3EeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB7aH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_xjrqJ6H3EeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_xjrqKKH3EeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqKaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqKqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqK6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xjrqLKH3EeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqLaH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqLqH3EeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqL6H3EeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_xjrqJaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/ISlaveAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjrqJqH3EeKNUa7kbzEWsw" x="1735" y="965"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_UypeIZewEeKr0Yypv4rfLA"/>
+ <element xmi:type="ecore:EPackage" href="nattable.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_EghvgKHtEeKNUa7kbzEWsw" type="3003" source="_EfMSxaHtEeKNUa7kbzEWsw" target="_EffN6aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EghvgaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EghvgqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eghvg6HtEeKNUa7kbzEWsw" points="[4, 9, -119, -33]$[92, 9, -31, -33]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8EqHtEeKNUa7kbzEWsw" id="(0.9731543624161074,0.36666666666666664)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8E6HtEeKNUa7kbzEWsw" id="(0.2882882882882883,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrghKHtEeKNUa7kbzEWsw" type="3002" source="_EffOMaHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_EgrgiKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgiaHtEeKNUa7kbzEWsw" x="8" y="53"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EgrgiqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgi6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrghaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrghqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisprovider/AxisProvider/axis"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgh6HtEeKNUa7kbzEWsw" points="[4, 58, -32, -432]$[36, 490, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGDaHtEeKNUa7kbzEWsw" id="(0.18633540372670807,0.9666666666666667)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGDqHtEeKNUa7kbzEWsw" id="(0.22849462365591397,0.08602150537634409)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrgjKHtEeKNUa7kbzEWsw" type="3003" source="_EffN9aHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgjaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrgjqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgj6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 94]$[0, -94, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGCaHtEeKNUa7kbzEWsw" id="(0.49612403100775193,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGCqHtEeKNUa7kbzEWsw" id="(0.21739130434782608,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrgkKHtEeKNUa7kbzEWsw" type="3003" source="_EffN6aHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgkaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrgkqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgk6HtEeKNUa7kbzEWsw" points="[0, 0, -112, 94]$[0, -30, -112, 64]$[112, -30, 0, 64]$[112, -94, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8BKHtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8BaHtEeKNUa7kbzEWsw" id="(0.10869565217391304,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrglKHtEeKNUa7kbzEWsw" type="3003" source="_EfVc_aHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrglaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrglqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgl6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 94]$[0, -94, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8FKHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8FaHtEeKNUa7kbzEWsw" id="(0.7065217391304348,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrgmKHtEeKNUa7kbzEWsw" type="3003" source="_EfMS6aHtEeKNUa7kbzEWsw" target="_EffOJaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgmaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrgmqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgm6HtEeKNUa7kbzEWsw" points="[1, 0, -282, 442]$[1, -483, -282, -41]$[243, -483, -40, -41]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8CqHtEeKNUa7kbzEWsw" id="(0.7515527950310559,0.014705882352941176)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8C6HtEeKNUa7kbzEWsw" id="(0.2469879518072289,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrgnKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_EgrgoKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgoaHtEeKNUa7kbzEWsw" x="-93" y="24"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EgrgoqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgo6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgnaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrgnqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/columnAxisProviders"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgn6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 111]$[0, -111, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8IKHtEeKNUa7kbzEWsw" id="(0.021052631578947368,0.29411764705882354)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8IaHtEeKNUa7kbzEWsw" id="(0.9295302013422819,0.14685314685314685)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrgpKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_EgrgqKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgqaHtEeKNUa7kbzEWsw" x="-93" y="15"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EgrgqqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgq6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgpaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrgpqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/rowAxisProviders"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgp6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 111]$[0, -111, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8FqHtEeKNUa7kbzEWsw" id="(0.017543859649122806,0.42780748663101603)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8F6HtEeKNUa7kbzEWsw" id="(0.9362416107382551,0.3776223776223776)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrgrKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_EgrgsKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgsaHtEeKNUa7kbzEWsw" x="-56" y="-20"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EgrgsqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgs6HtEeKNUa7kbzEWsw" x="23" y="-20"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgraHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrgrqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/defaultRowAxisProvider"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgr6HtEeKNUa7kbzEWsw" points="[-3, -19, 71, 510]$[-73, -523, 1, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8GqHtEeKNUa7kbzEWsw" id="(0.04912280701754386,0.7549019607843137)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8G6HtEeKNUa7kbzEWsw" id="(0.9832214765100671,0.7972027972027972)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EgrgtKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_EgrguKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrguaHtEeKNUa7kbzEWsw" x="-81" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EgrguqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgu6HtEeKNUa7kbzEWsw" x="7" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgtaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EgrgtqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/defaultColumnAxisProvider"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgt6HtEeKNUa7kbzEWsw" points="[0, -3, 27, 510]$[-27, -507, 0, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8HKHtEeKNUa7kbzEWsw" id="(0.0,0.6203208556149733)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8HaHtEeKNUa7kbzEWsw" id="(0.9563758389261745,0.6363636363636364)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Eg0qcKHtEeKNUa7kbzEWsw" type="3003" source="_EffOMaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg0qcaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Eg0qcqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg0qc6HtEeKNUa7kbzEWsw" points="[0, 0, 31, 155]$[0, -69, 31, 86]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGD6HtEeKNUa7kbzEWsw" id="(0.6645962732919255,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGEKHtEeKNUa7kbzEWsw" id="(0.10067114093959731,0.3916083916083916)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Eg0qjKHtEeKNUa7kbzEWsw" type="3003" source="_EfMTDaHtEeKNUa7kbzEWsw" target="_EfVdCaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg0qjaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Eg0qjqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg0qj6HtEeKNUa7kbzEWsw" points="[13, 8, 198, -412]$[13, 130, 198, -290]$[-161, 130, 24, -290]$[-161, 405, 24, -15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGA6HtEeKNUa7kbzEWsw" id="(0.36180904522613067,0.8666666666666667)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGBKHtEeKNUa7kbzEWsw" id="(0.7115384615384616,0.13445378151260504)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Eg-bfKHtEeKNUa7kbzEWsw" type="3003" source="_EfMTGaHtEeKNUa7kbzEWsw" target="_EfMTJaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg-bfaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Eg-bfqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg-bf6HtEeKNUa7kbzEWsw" points="[-53, 0, -81, 264]$[-53, -288, -81, -24]$[9, -288, -19, -24]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF96HtEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF-KHtEeKNUa7kbzEWsw" id="(0.091324200913242,0.8)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Eg-bgKHtEeKNUa7kbzEWsw" type="3002" source="_EffN6aHtEeKNUa7kbzEWsw" target="_EfMTGaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_Eg-bhKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bhaHtEeKNUa7kbzEWsw" x="-12" y="-83"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Eg-bhqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bh6HtEeKNUa7kbzEWsw" x="-32" y="-37"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg-bgaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Eg-bgqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/FeatureAxis/localLabelConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg-bg6HtEeKNUa7kbzEWsw" points="[-9, 58, 813, 121]$[-9, 95, 813, 158]$[-822, 95, 0, 158]$[-822, -63, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8BqHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8B6HtEeKNUa7kbzEWsw" id="(0.8214285714285714,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Eg-bjKHtEeKNUa7kbzEWsw" type="3002" source="_EfVc_aHtEeKNUa7kbzEWsw" target="_EfMTJaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_Eg-bkKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bkaHtEeKNUa7kbzEWsw" x="84" y="84"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Eg-bkqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bk6HtEeKNUa7kbzEWsw" x="44" y="15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg-bjaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Eg-bjqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/ObjectAxis/localLabelConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg-bj6HtEeKNUa7kbzEWsw" points="[0, 0, 1127, 427]$[0, -45, 1127, 382]$[-1136, -45, -9, 382]$[-1136, -427, -9, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGGaHtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGGqHtEeKNUa7kbzEWsw" id="(0.6666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhHlYKHtEeKNUa7kbzEWsw" type="3002" source="_EfVczaHtEeKNUa7kbzEWsw" target="_EfVc8aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_EhHlZKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EhHlZaHtEeKNUa7kbzEWsw" x="-42" y="-89"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EhHlZqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EhHlZ6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlYaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhHlYqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration/axisManagerConfigurations"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHlY6HtEeKNUa7kbzEWsw" points="[-12, 1, 286, -14]$[-261, 13, 37, -2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8AKHtEeKNUa7kbzEWsw" id="(0.056768558951965066,0.8)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8AaHtEeKNUa7kbzEWsw" id="(0.8947368421052632,0.5568181818181818)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhHlaKHtEeKNUa7kbzEWsw" type="3003" source="_EfVczaHtEeKNUa7kbzEWsw" target="_EfVdCaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlaaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhHlaqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHla6HtEeKNUa7kbzEWsw" points="[0, 0, -255, 239]$[0, -209, -255, 30]$[255, -209, 0, 30]$[255, -239, 0, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGHKHtEeKNUa7kbzEWsw" id="(0.3317307692307692,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhHlbKHtEeKNUa7kbzEWsw" type="3003" source="_EfVc2aHtEeKNUa7kbzEWsw" target="_EfVc_aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlbaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhHlbqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHlb6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 102]$[0, -102, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF9aHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF9qHtEeKNUa7kbzEWsw" id="(0.4144144144144144,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhHlcKHtEeKNUa7kbzEWsw" type="3003" source="_EfVc5aHtEeKNUa7kbzEWsw" target="_EffODaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlcaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhHlcqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHlc6HtEeKNUa7kbzEWsw" points="[0, 0, 254, 111]$[0, -30, 254, 81]$[-254, -30, 0, 81]$[-254, -111, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGAaHtEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGAqHtEeKNUa7kbzEWsw" id="(0.25,0.9264705882352942)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhRWeKHtEeKNUa7kbzEWsw" type="3003" source="_EffN3aHtEeKNUa7kbzEWsw" target="_EfVc_aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhRWeaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhRWeqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhRWe6HtEeKNUa7kbzEWsw" points="[0, 0, -120, 102]$[0, -30, -120, 72]$[120, -30, 0, 72]$[120, -102, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGE6HtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGFKHtEeKNUa7kbzEWsw" id="(0.2072072072072072,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhbHdKHtEeKNUa7kbzEWsw" type="3003" source="_EffOAaHtEeKNUa7kbzEWsw" target="_EfVdLaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhbHdaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhbHdqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhbHd6HtEeKNUa7kbzEWsw" points="[-3, 0, 19, 114]$[-3, -114, 19, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGB6HtEeKNUa7kbzEWsw" id="(0.2931726907630522,0.014705882352941176)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGCKHtEeKNUa7kbzEWsw" id="(0.25,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhkRUKHtEeKNUa7kbzEWsw" type="3003" source="_EffNxaHtEeKNUa7kbzEWsw" target="_EffN9aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhkRUaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhkRUqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhkRU6HtEeKNUa7kbzEWsw" points="[0, 0, -111, 94]$[0, -30, -111, 64]$[111, -30, 0, 64]$[111, -94, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8DKHtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8DaHtEeKNUa7kbzEWsw" id="(0.24806201550387597,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhkRVKHtEeKNUa7kbzEWsw" type="3003" source="_EffNxaHtEeKNUa7kbzEWsw" target="_EffN6aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhkRVaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhkRVqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhkRV6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 102]$[0, -102, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8DqHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8D6HtEeKNUa7kbzEWsw" id="(0.5765765765765766,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhkRWKHtEeKNUa7kbzEWsw" type="3003" source="_EffN3aHtEeKNUa7kbzEWsw" target="_EffN9aHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhkRWaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhkRWqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhkRW6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 94]$[0, -94, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGEaHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGEqHtEeKNUa7kbzEWsw" id="(0.49612403100775193,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhuCUKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EffODaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_EhuCVKHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EhuCVaHtEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EhuCVqHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EhuCV6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhuCUaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhuCUqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/creationTester"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhuCU6HtEeKNUa7kbzEWsw" points="[0, 0, 89, 284]$[-89, -284, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8IqHtEeKNUa7kbzEWsw" id="(0.05964912280701754,0.0427807486631016)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8I6HtEeKNUa7kbzEWsw" id="(0.8920454545454546,0.9705882352941176)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_EhuCWKHtEeKNUa7kbzEWsw" type="3003" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EffOJaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhuCWaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EhuCWqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhuCW6HtEeKNUa7kbzEWsw" points="[-169, 0, 1, 431]$[-169, -427, 1, 4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGIaHtEeKNUa7kbzEWsw" id="(0.9403508771929825,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGIqHtEeKNUa7kbzEWsw" id="(0.8012048192771084,0.9529411764705882)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ek_YzqHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EffOPaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_Ek_Y0qHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y06HtEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ek_Y1KHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y1aHtEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ek_Yz6HtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ek_Y0KHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/tableConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ek_Y0aHtEeKNUa7kbzEWsw" points="[9, -10, 0, 336]$[9, -340, 0, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ir5h8KHtEeKNUa7kbzEWsw" id="(0.8552631578947368,0.07534246575342465)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kbepMKHtEeKNUa7kbzEWsw" id="(0.3087719298245614,0.9411764705882353)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ek_Y1qHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_Ek_Y2qHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y26HtEeKNUa7kbzEWsw" x="-335" y="102"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ek_Y3KHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y3aHtEeKNUa7kbzEWsw" x="-325" y="20"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ek_Y16HtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ek_Y2KHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/columnAxisProvidersHistory"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ek_Y2aHtEeKNUa7kbzEWsw" points="[-146, 0, 271, 460]$[-411, 0, 6, 460]$[-411, -453, 6, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7tvZUKHuEeKNUa7kbzEWsw" id="(0.9736842105263158,0.726027397260274)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6fePYKHuEeKNUa7kbzEWsw" id="(0.6073825503355704,0.8970588235294118)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ek_Y3qHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_Ek_Y4qHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y46HtEeKNUa7kbzEWsw" x="-356" y="129"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ek_Y5KHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y5aHtEeKNUa7kbzEWsw" x="-356" y="37"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ek_Y36HtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ek_Y4KHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/rowAxisProvidersHistory"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ek_Y4aHtEeKNUa7kbzEWsw" points="[-145, 0, 308, 485]$[-445, 0, 8, 485]$[-445, -480, 8, 5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EDnkKHuEeKNUa7kbzEWsw" id="(0.9671052631578947,0.910958904109589)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__1i8MKHuEeKNUa7kbzEWsw" id="(0.4798657718120805,0.9264705882352942)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ElJJ0KHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_ElJJ1KHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ1aHtEeKNUa7kbzEWsw" x="-309" y="104"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ElJJ1qHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ16HtEeKNUa7kbzEWsw" x="-308" y="19"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ElJJ0aHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ElJJ0qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/currentRowAxisProvider"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ElJJ06HtEeKNUa7kbzEWsw" points="[-137, 0, 235, 423]$[-372, 0, 0, 423]$[-372, -420, 0, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3ETwEKHuEeKNUa7kbzEWsw" id="(0.9144736842105263,0.4931506849315068)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AyW7AKH1EeKNUa7kbzEWsw" id="(0.7281879194630873,0.9558823529411765)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ElJJ2KHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_ElJJ3KHtEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ3aHtEeKNUa7kbzEWsw" x="-235" y="120"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ElJJ3qHtEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ36HtEeKNUa7kbzEWsw" x="-230" y="31"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ElJJ2aHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ElJJ2qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/currentColumnAxisProvider"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ElJJ26HtEeKNUa7kbzEWsw" points="[-90, 0, 197, 386]$[-287, 0, 0, 386]$[-287, -384, 0, 2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0FtQ8KHuEeKNUa7kbzEWsw" id="(0.6052631578947368,0.2465753424657534)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vXzXYKHuEeKNUa7kbzEWsw" id="(0.8557046979865772,0.9705882352941176)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ElJJ4KHtEeKNUa7kbzEWsw" type="3003" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EffOJaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ElJJ4aHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ElJJ4qHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ElJJ46HtEeKNUa7kbzEWsw" points="[5, 40, -4, 1013]$[315, 40, 306, 1013]$[315, -931, 306, 42]$[34, -931, 25, 42]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zdYFoKHuEeKNUa7kbzEWsw" id="(0.9671052631578947,0.2328767123287671)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_dasKHtEeKNUa7kbzEWsw" id="(0.8493975903614458,0.011764705882352941)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_FIJaHKH2EeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMTDaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_FIJaIKH2EeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FIJaIaH2EeKNUa7kbzEWsw" x="-118" y="-19"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_FIJaIqH2EeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FIJaI6H2EeKNUa7kbzEWsw" x="-3" y="-24"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_FIJaHaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FIJaHqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/rowHeaderAxisConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FIJaH6H2EeKNUa7kbzEWsw" points="[0, -7, 691, 404]$[0, -493, 691, -82]$[-682, -493, 9, -82]$[-682, -412, 9, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JJrV0KH2EeKNUa7kbzEWsw" id="(0.5578947368421052,0.0427807486631016)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a5to8KH2EeKNUa7kbzEWsw" id="(0.8190954773869347,0.03333333333333333)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_FIJaJKH2EeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMTDaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_FIJaKKH2EeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FIJaKaH2EeKNUa7kbzEWsw" x="-31" y="28"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_FITLEKH2EeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FITLEaH2EeKNUa7kbzEWsw" x="79" y="13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_FIJaJaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FIJaJqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/columnHeaderAxisConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FIJaJ6H2EeKNUa7kbzEWsw" points="[-7, -8, 798, 384]$[-7, -518, 798, -126]$[-805, -518, 0, -126]$[-805, -413, 0, -21]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PMCg4KH2EeKNUa7kbzEWsw" id="(0.9438596491228071,0.0481283422459893)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OSd0kKH2EeKNUa7kbzEWsw" id="(0.7989949748743719,0.36666666666666664)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_hoQknKH2EeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfVczaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_hoQkoKH2EeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQkoaH2EeKNUa7kbzEWsw" x="-955" y="189"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hoQkoqH2EeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQko6H2EeKNUa7kbzEWsw" x="-949" y="65"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_hoQknaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_hoQknqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/localRowHeaderAxisConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hoQkn6H2EeKNUa7kbzEWsw" points="[7, 5, 915, 798]$[7, 211, 915, 1004]$[-598, 211, 310, 1004]$[-608, -793, 300, 0]$[-906, -793, 2, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NyG_cKJ4EeKNUa7kbzEWsw" id="(0.7894736842105263,0.9657534246575342)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Uz2j4KJ4EeKNUa7kbzEWsw" id="(0.9912663755458515,0.45)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_hoQkpKH2EeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfVczaHtEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_hoQkqKH2EeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQkqaH2EeKNUa7kbzEWsw" x="-394" y="-888"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hoQkqqH2EeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQkq6H2EeKNUa7kbzEWsw" x="-246" y="-893"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_hoQkpaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_hoQkpqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/localColumnHeaderAxisConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hoQkp6H2EeKNUa7kbzEWsw" points="[1, 6, 843, 815]$[1, 131, 843, 940]$[-480, 131, 362, 940]$[-480, -803, 362, 6]$[-838, -803, 4, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NTAooKJ4EeKNUa7kbzEWsw" id="(0.3355263157894737,0.958904109589041)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m2_6UKH2EeKNUa7kbzEWsw" id="(0.982532751091703,0.16666666666666666)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_xj1bAqH3EeKNUa7kbzEWsw" type="3003" source="_xjigEKH3EeKNUa7kbzEWsw" target="_xjrqDKH3EeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xj1bA6H3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xj1bBKH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xj1bBaH3EeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ4KH3EeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ4aH3EeKNUa7kbzEWsw" id="(0.4968944099378882,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_xj_MAKH3EeKNUa7kbzEWsw" type="3003" source="_xjigHKH3EeKNUa7kbzEWsw" target="_xjrqJKH3EeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xj_MAaH3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xj_MAqH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xj_MA6H3EeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ4qH3EeKNUa7kbzEWsw" id="(0.4968944099378882,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ46H3EeKNUa7kbzEWsw" id="(0.4968944099378882,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_xj_MGKH3EeKNUa7kbzEWsw" type="3003" source="_xjrqDKH3EeKNUa7kbzEWsw" target="_EffOMaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xj_MGaH3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xj_MGqH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xj_MG6H3EeKNUa7kbzEWsw" points="[1, 0, -1734, -700]$[1663, 671, -72, -29]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_xkIV-KH3EeKNUa7kbzEWsw" type="3003" source="_xjrqJKH3EeKNUa7kbzEWsw" target="_EffOMaHtEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_xkIV-aH3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xkIV-qH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xkIV-6H3EeKNUa7kbzEWsw" points="[1, 0, -1734, -700]$[1663, 671, -72, -29]"/>
+ </edges>
+</notation:Diagram>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.genmodel b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.genmodel
new file mode 100644
index 0000000..5c8ebe9
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.genmodel
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 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"
+ modelDirectory="/org.eclipse.papyrus.infra.nattable.model/src-gen" creationIcons="false"
+ editDirectory="/org.eclipse.papyrus.infra.nattable.model.edit/src-gen" editorDirectory="/org.eclipse.papyrus.infra.nattable.model.editor/src-gen"
+ modelPluginID="org.eclipse.papyrus.infra.nattable.model" modelName="Nattable"
+ nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+ testsDirectory="" importerID="org.eclipse.emf.importer.ecore" featureDelegation="Dynamic"
+ complianceLevel="5.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.genmodel#//types ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions"
+ operationReflection="true" importOrganizing="true" cleanup="true">
+ <foreignModel>nattable.ecore</foreignModel>
+ <genPackages prefix="Nattable" basePackage="org.eclipse.papyrus.infra.nattable.model"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#/">
+ <genClasses ecoreClass="nattable.ecore#//Table">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/context"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/owner"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/prototype"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/tableConfiguration"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//Table/invertAxis"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/columnAxisProvidersHistory"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/rowAxisProvidersHistory"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/localRowHeaderAxisConfiguration"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/localColumnHeaderAxisConfiguration"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/currentRowAxisProvider"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/currentColumnAxisProvider"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/cells"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/ownedCellEditorConfigurations"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//Table/tableKindId"/>
+ </genClasses>
+ <nestedGenPackages prefix="Nattableconfiguration" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" ecorePackage="nattable.ecore#//nattableconfiguration">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattableconfiguration/CellEditorDeclaration">
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableconfiguration/CellEditorDeclaration/COLUMN"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableconfiguration/CellEditorDeclaration/ROW"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableconfiguration/CellEditorDeclaration/CELL"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableconfiguration/TableNamedElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableNamedElement/description"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableNamedElement/name"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableconfiguration/TableConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableConfiguration/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableConfiguration/iconPath"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/creationTester"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableConfiguration/cellEditorDeclaration"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/rowHeaderAxisConfiguration"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/columnHeaderAxisConfiguration"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/columnAxisProviders"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/rowAxisProviders"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/defaultRowAxisProvider"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/defaultColumnAxisProvider"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/ownedCellEditorConfigurations"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattableaxisprovider" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattableaxisprovider">
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/AbstractAxisProvider">
+ <genOperations ecoreOperation="nattable.ecore#//nattableaxisprovider/AbstractAxisProvider/getAxis"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/IMasterAxisProvider">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisprovider/IMasterAxisProvider/disconnectSlave"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisprovider/IMasterAxisProvider/sources"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/ISlaveAxisProvider"/>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/AxisProvider">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisprovider/AxisProvider/axis"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisprovider/SlaveObjectAxisProvider"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisprovider/MasterObjectAxisProvider"/>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattablelabelprovider" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattablelabelprovider">
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattablelabelprovider/ILabelProviderConfiguration"/>
+ <genClasses ecoreClass="nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayIsDerived"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayMultiplicity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayName"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration/displayIcon"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration/displayLabel"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration/displayType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration/displayMultiplicity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration/displayName"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattableaxisconfiguration" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="nattable.ecore#//nattableaxisconfiguration">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle">
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/ALPHABETIC"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/NUMERIC"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/indexStyle"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/displayLabel"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/displayFilter"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/displayIndex"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/ownedLabelConfigurations"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/ownedAxisConfigurations"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/axisManagerId"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/labelProviderContext"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/headerLabelConfiguration"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/specificAxisConfigurations"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/localHeaderLabelConfiguration"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/axisManager"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/localSpecificConfigurations"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration/axisManagers"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration/axisManagerConfigurations"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisconfiguration/IAxisConfiguration"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/FeatureAxisConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/FeatureAxisConfiguration/showOnlyCommonFeature"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisconfiguration/IFillingConfiguration"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/EStructuralFeatureValueFillingConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/EStructuralFeatureValueFillingConfiguration/listenFeature"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/IPasteConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/IPasteConfiguration/postActions"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/IPasteConfiguration/detachedMode"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration/pastedElementId"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration/pasteElementContainementFeature"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration/axisIdentifier"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/axisUsedAsAxisProvider"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/pasteConfiguration"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/depth"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/labelProvider"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/labelProviderContext"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/filterRule"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattabletester" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattabletester">
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattabletester/AbstractTableTester">
+ <genOperations ecoreOperation="nattable.ecore#//nattabletester/AbstractTableTester/getTester"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattabletester/JavaTableTester">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattabletester/JavaTableTester/tester"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattableaxis" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattableaxis">
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/IAxis">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/IAxis/manager"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxis/IAxis/alias"/>
+ <genOperations ecoreOperation="nattable.ecore#//nattableaxis/IAxis/getElement"/>
+ <genOperations ecoreOperation="nattable.ecore#//nattableaxis/IAxis/getLocalLabelConfiguration"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/ITreeItemAxis">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/ITreeItemAxis/parent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxis/ITreeItemAxis/expanded"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/ITreeItemAxis/children"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/IdAxis">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxis/IdAxis/element"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/IdTreeItemAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/EObjectAxis">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/EObjectAxis/element"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/EObjectTreeItemAxis"/>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/FeatureAxis">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/FeatureAxis/localLabelConfiguration"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/OperationAxis">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/OperationAxis/localLabelConfiguration"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/FeatureTreeItemAxis"/>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/OperationTreeItemAxis"/>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/ObjectAxis">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/ObjectAxis/localLabelConfiguration"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/ObjectTreeItemAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/FeatureIdAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/FeatureIdTreeItemAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/EStructuralFeatureAxis">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/EStructuralFeatureAxis/element"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/EOperationAxis">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/EOperationAxis/element"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/EStructuralFeatureTreeItemAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/EOperationTreeItemAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/ObjectIdAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/ObjectIdTreeItemAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/AxisGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/AxisGroup/groupedAxis"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/OperationIdAxis"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableaxis/OperationIdTreeItemAxis"/>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattablecell" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattablecell">
+ <genClasses ecoreClass="nattable.ecore#//nattablecell/Cell">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/Cell/columnWrapper"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/Cell/rowWrapper"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/Cell/problems"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattablecell/ICellAxisWrapper">
+ <genOperations ecoreOperation="nattable.ecore#//nattablecell/ICellAxisWrapper/getElement"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablecell/EObjectAxisWrapper">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/EObjectAxisWrapper/element"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablecell/IdAxisWrapper">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablecell/IdAxisWrapper/element"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattableproblem" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattableproblem">
+ <genClasses ecoreClass="nattable.ecore#//nattableproblem/Problem"/>
+ <genClasses ecoreClass="nattable.ecore#//nattableproblem/StringResolutionProblem">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableproblem/StringResolutionProblem/valueAsString"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableproblem/StringResolutionProblem/unresolvedString"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattablestyle" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattablestyle">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattablestyle/CellTextAlignment">
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/TOP_LEFT"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/TOP_CENTER"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/TOP_RIGHT"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/MIDDLE_LEFT"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/MIDDLE_CENTER"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/MIDDLE_RIGHT"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/BOTTOM_LEFT"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/BOTTOM_CENTER"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/CellTextAlignment/BOTTOM_RIGHT"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattablestyle/DisplayStyle">
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/DisplayStyle/NORMAL"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/DisplayStyle/HIERARCHIC_SINGLE_TREE_COLUMN"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablestyle/DisplayStyle/HIERARCHIC_MULTI_TREE_COLUMN"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattablestyle/Style"/>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/NamedStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/NamedStyle/name"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/FontStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/FontStyle/fontColor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/FontStyle/fontName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/FontStyle/fontHeight"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/FontStyle/bold"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/FontStyle/italic"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/FontStyle/underline"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/FontStyle/strikeThrough"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/CellTextStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/CellTextStyle/alignment"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/IntValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/IntValueStyle/intValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/IntListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/IntListValueStyle/intListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/BooleanValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/BooleanValueStyle/booleanValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/BooleanListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/BooleanListValueStyle/booleanListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/DoubleValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/DoubleValueStyle/doubleValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/DoubleListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/DoubleListValueStyle/doubleListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/StringValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/StringValueStyle/stringValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/StringListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/StringListValueStyle/stringListValue"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattablestyle/StyledElement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablestyle/StyledElement/styles"/>
+ <genOperations ecoreOperation="nattable.ecore#//nattablestyle/StyledElement/getNamedStyle">
+ <genParameters ecoreParameter="nattable.ecore#//nattablestyle/StyledElement/getNamedStyle/eClass"/>
+ <genParameters ecoreParameter="nattable.ecore#//nattablestyle/StyledElement/getNamedStyle/name"/>
+ </genOperations>
+ <genOperations ecoreOperation="nattable.ecore#//nattablestyle/StyledElement/getStyle">
+ <genParameters ecoreParameter="nattable.ecore#//nattablestyle/StyledElement/getStyle/eClass"/>
+ </genOperations>
+ <genOperations ecoreOperation="nattable.ecore#//nattablestyle/StyledElement/createStyle">
+ <genParameters ecoreParameter="nattable.ecore#//nattablestyle/StyledElement/createStyle/eClass"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/TableDisplayStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablestyle/TableDisplayStyle/displayStyle"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/EObjectValueStyle">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattablestyle/EObjectValueStyle/eObjectValue"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablestyle/EObjectListValueStyle">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattablestyle/EObjectListValueStyle/eObjectValue"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattablecelleditor" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="nattable.ecore#//nattablecelleditor">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattablecelleditor/MatrixRelationShipDirection">
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipDirection/NONE"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipDirection/FROM_ROW_TO_COLUMN"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipDirection/FROM_COLUMN_TO_ROW"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy">
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy/DEFAULT"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy/TABLE_CONTEXT"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy/ROW_OWNER"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy/ROW_AS_OWNER"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy/COLUMN_OWNER"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy/COLUMN_AS_OWNER"/>
+ <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattablecelleditor/MatrixRelationShipOwnerStrategy/OTHER"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattablecelleditor/ICellEditorConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablecelleditor/ICellEditorConfiguration/cellEditorId"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablecelleditor/GenericRelationshipMatrixCellEditorConfiguration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablecelleditor/GenericRelationshipMatrixCellEditorConfiguration/direction"/>
+ <genFeatures children="true" createChild="true" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattablecelleditor/GenericRelationshipMatrixCellEditorConfiguration/cellContentsFilter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattablecelleditor/GenericRelationshipMatrixCellEditorConfiguration/editedElement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablecelleditor/GenericRelationshipMatrixCellEditorConfiguration/relationshipOwnerStrategy"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecelleditor/GenericRelationshipMatrixCellEditorConfiguration/relationshipOwner"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecelleditor/GenericRelationshipMatrixCellEditorConfiguration/relationshipOwnerFeature"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattablecelleditor/IMatrixCellEditorConfiguration"/>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Nattablewrapper" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+ disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+ ecorePackage="nattable.ecore#//nattablewrapper">
+ <genClasses image="false" ecoreClass="nattable.ecore#//nattablewrapper/IWrapper">
+ <genOperations ecoreOperation="nattable.ecore#//nattablewrapper/IWrapper/getElement"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablewrapper/EObjectWrapper">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference nattable.ecore#//nattablewrapper/EObjectWrapper/element"/>
+ </genClasses>
+ <genClasses ecoreClass="nattable.ecore#//nattablewrapper/IdWrapper">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablewrapper/IdWrapper/element"/>
+ </genClasses>
+ </nestedGenPackages>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableaxis.ecorediag b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableaxis.ecorediag
new file mode 100644
index 0000000..63cb5ea
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableaxis.ecorediag
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_UypeIJewEeKr0Yypv4rfLA" type="EcoreTools" name="nattableaxis.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_e_NAAKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_NAA6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_NABKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NABaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NABqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAB6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NACKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NACaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NACqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAC6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_NAAaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/FeatureIdAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_NAAqHoEeKNUa7kbzEWsw" x="755" y="525"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NADKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_NAD6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_NAEKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAEaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAEqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAE6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAFKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAFaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAFqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAF6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_NADaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/ObjectIdAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_NADqHoEeKNUa7kbzEWsw" x="590" y="525"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAGKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_NAG6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_NAHKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAHaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAHqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAH6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAIKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAIaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAIqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAI6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_NAGaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/ObjectAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_NAGqHoEeKNUa7kbzEWsw" x="500" y="350"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAJKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_NAJ6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_NAKKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAKaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAKqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAK6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NALKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NALaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NALqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAL6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_NAJaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/FeatureAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_NAJqHoEeKNUa7kbzEWsw" x="850" y="350"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAMKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_NAM6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_NANKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NANaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NANqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAN6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAOKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAOaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAOqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAO6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_NAMaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/IdAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_NAMqHoEeKNUa7kbzEWsw" x="665" y="350"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAPKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_NAP6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_NAQKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAQaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAQqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAQ6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NARKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NARaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NARqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAR6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_NAPaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/IAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_NAPqHoEeKNUa7kbzEWsw" x="455" y="220"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NASKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_NAS6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_NATKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NATaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NATqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAT6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_NAUKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_NAUaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_NAUqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_NAU6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_NASaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/EStructuralFeatureAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_NASqHoEeKNUa7kbzEWsw" x="920" y="525"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_WxAKHoEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_e_WxA6HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_e_WxBKHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_WxBaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_WxBqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_WxB6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_e_WxCKHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_e_WxCaHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_e_WxCqHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_e_WxC6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_e_WxAaHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/EObjectAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_WxAqHoEeKNUa7kbzEWsw" x="430" y="460"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hgnz4KHoEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hhEf0KHoEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hhEf0aHoEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_hgnz46HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_hgnz5KHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_hgnz5aHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hgnz5qHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hgnz56HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hgnz6KHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_hgnz6aHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hgnz6qHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hgnz66HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_hgnz4aHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hgnz4qHoEeKNUa7kbzEWsw" x="880" y="700"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kA2U8KHoEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kBTA4KHoEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kBTA4aHoEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_kA2U86HoEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_kA2U9KHoEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kA2U9aHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kA2U9qHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kA2U96HoEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kA2U-KHoEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kA2U-aHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kA2U-qHoEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kA2U-6HoEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_kA2U8aHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kA2U8qHoEeKNUa7kbzEWsw" x="250" y="625"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_g0n0EKHpEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g06vAKHpEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g06vAaHpEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_g0n0E6HpEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_g0n0FKHpEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_g0n0FaHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g0n0FqHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g0n0F6HpEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_g0n0GKHpEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_g0n0GaHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g0n0GqHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g0n0G6HpEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_g0n0EaHpEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g0n0EqHpEeKNUa7kbzEWsw" x="825" y="-15"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hPGwoKHpEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hPZrkKHpEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hPZrkaHpEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_hPGwo6HpEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_hPGwpKHpEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_hPGwpaHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hPGwpqHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hPGwp6HpEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hPGwqKHpEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_hPGwqaHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hPGwqqHpEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hPGwq6HpEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_hPGwoaHpEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hPGwoqHpEeKNUa7kbzEWsw" x="75" y="-15"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_UypeIZewEeKr0Yypv4rfLA"/>
+ <element xmi:type="ecore:EPackage" href="nattable.ecore#//nattableaxis"/>
+ <edges xmi:type="notation:Edge" xmi:id="_e_f68KHoEeKNUa7kbzEWsw" type="3003" source="_e_NAAKHoEeKNUa7kbzEWsw" target="_e_NAMKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_f68aHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_f68qHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_f686HoEeKNUa7kbzEWsw" points="[0, 0, 41, 60]$[0, -30, 41, 30]$[-41, -30, 0, 30]$[-41, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX6KHoEeKNUa7kbzEWsw" id="(0.3333333333333333,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX6aHoEeKNUa7kbzEWsw" id="(0.6666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_e_f69KHoEeKNUa7kbzEWsw" type="3003" source="_e_NAAKHoEeKNUa7kbzEWsw" target="_e_NAJKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_f69aHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_f69qHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_f696HoEeKNUa7kbzEWsw" points="[0, 0, -62, 68]$[0, -30, -62, 38]$[62, -30, 0, 38]$[62, -68, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX6qHoEeKNUa7kbzEWsw" id="(0.6666666666666666,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX66HoEeKNUa7kbzEWsw" id="(0.3333333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_e_pr8KHoEeKNUa7kbzEWsw" type="3003" source="_e_NADKHoEeKNUa7kbzEWsw" target="_e_NAMKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_pr8aHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_pr8qHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_pr86HoEeKNUa7kbzEWsw" points="[0, 0, -44, 60]$[0, -30, -44, 30]$[44, -30, 0, 30]$[44, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX5KHoEeKNUa7kbzEWsw" id="(0.6666666666666666,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX5aHoEeKNUa7kbzEWsw" id="(0.3333333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_e_pr9KHoEeKNUa7kbzEWsw" type="3003" source="_e_NADKHoEeKNUa7kbzEWsw" target="_e_NAGKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_pr9aHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_pr9qHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_pr96HoEeKNUa7kbzEWsw" points="[0, 0, 59, 68]$[0, -30, 59, 38]$[-59, -30, 0, 38]$[-59, -68, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX5qHoEeKNUa7kbzEWsw" id="(0.3333333333333333,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX56HoEeKNUa7kbzEWsw" id="(0.6666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_e_pr-KHoEeKNUa7kbzEWsw" type="3003" source="_e_NAGKHoEeKNUa7kbzEWsw" target="_e_NAPKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_pr-aHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_pr-qHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_pr-6HoEeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX7KHoEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX7aHoEeKNUa7kbzEWsw" id="(0.2608695652173913,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_e_pr_KHoEeKNUa7kbzEWsw" type="3003" source="_e_WxAKHoEeKNUa7kbzEWsw" target="_e_NAGKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_pr_aHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_pr_qHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_pr_6HoEeKNUa7kbzEWsw" points="[0, 0, -52, 68]$[0, -30, -52, 38]$[52, -30, 0, 38]$[52, -68, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX4KHoEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX4aHoEeKNUa7kbzEWsw" id="(0.3333333333333333,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_e_psAKHoEeKNUa7kbzEWsw" type="3003" source="_e_NASKHoEeKNUa7kbzEWsw" target="_e_NAJKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_psAaHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_psAqHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_psA6HoEeKNUa7kbzEWsw" points="[0, 0, 54, 68]$[0, -30, 54, 38]$[-54, -30, 0, 38]$[-54, -68, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX7qHoEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX76HoEeKNUa7kbzEWsw" id="(0.6666666666666666,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_e_psBKHoEeKNUa7kbzEWsw" type="3003" source="_e_NAMKHoEeKNUa7kbzEWsw" target="_e_NAPKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_e_psBaHoEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_e_psBqHoEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_psB6HoEeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX4qHoEeKNUa7kbzEWsw" id="(0.49612403100775193,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fAGX46HoEeKNUa7kbzEWsw" id="(0.7364130434782609,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_hg6u0KHoEeKNUa7kbzEWsw" type="3002" source="_e_NASKHoEeKNUa7kbzEWsw" target="_hgnz4KHoEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_hg6u1KHoEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hg6u1aHoEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hg6u1qHoEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hg6u16HoEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_hg6u0aHoEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_hg6u0qHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/EStructuralFeatureAxis/element"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hg6u06HoEeKNUa7kbzEWsw" points="[-42, -20, 934, 461]$[-975, -481, 1, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_kBJ28KHoEeKNUa7kbzEWsw" type="3002" source="_e_WxAKHoEeKNUa7kbzEWsw" target="_kA2U8KHoEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_kBJ29KHoEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kBJ29aHoEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kBJ29qHoEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kBJ296HoEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_kBJ28aHoEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kBJ28qHoEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/EObjectAxis/element"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kBJ286HoEeKNUa7kbzEWsw" points="[-21, -20, 460, 461]$[-480, -480, 1, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_AtBlgKHpEeKNUa7kbzEWsw" type="3003" source="_e_NAJKHoEeKNUa7kbzEWsw" target="_e_NAPKHoEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_AtBlgaHpEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AtBlgqHpEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtBlg6HpEeKNUa7kbzEWsw" points="[39, -12, 85, 76]$[39, -97, 85, -9]$[-40, -97, 6, -9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtBlhKHpEeKNUa7kbzEWsw" id="(0.11764705882352941,0.3023255813953488)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Td64sKHpEeKNUa7kbzEWsw" id="(0.9836956521739131,0.8235294117647058)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_g0w-AqHpEeKNUa7kbzEWsw" type="3002" source="_e_NAJKHoEeKNUa7kbzEWsw" target="_g0n0EKHpEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_g0w-BqHpEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_g0w-B6HpEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_g0w-CKHpEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_g0w-CaHpEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_g0w-A6HpEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_g0w-BKHpEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/FeatureAxis/localLabelConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g0w-BaHpEeKNUa7kbzEWsw" points="[-50, -21, 851, 350]$[-900, -371, 1, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jnSwAKHpEeKNUa7kbzEWsw" id="(0.9117647058823529,0.11627906976744186)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_hPP6kKHpEeKNUa7kbzEWsw" type="3002" source="_e_NAGKHoEeKNUa7kbzEWsw" target="_hPGwoKHpEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_hPP6lKHpEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hPP6laHpEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_hPP6lqHpEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hPP6l6HpEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_hPP6kaHpEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_hPP6kqHpEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/ObjectAxis/localLabelConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hPP6k6HpEeKNUa7kbzEWsw" points="[-50, 0, 317, 344]$[-367, 0, 0, 344]$[-367, -302, 0, 42]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_hPP6mKHpEeKNUa7kbzEWsw" type="3003" source="_g0n0EKHpEeKNUa7kbzEWsw" target="_hPGwoKHpEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_hPP6maHpEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_hPP6mqHpEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hPP6m6HpEeKNUa7kbzEWsw" points="[-111, -39, 1091, 387]$[-1201, -426, 1, 0]"/>
+ </edges>
+</notation:Diagram>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableaxisprovider.ecorediag b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableaxisprovider.ecorediag
new file mode 100644
index 0000000..1fc01ed
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableaxisprovider.ecorediag
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_UypeIJewEeKr0Yypv4rfLA" type="EcoreTools" name="nattable.ecorediag" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_0KgVkKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0KgVk6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KgVlKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVlaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVlqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVl6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVmKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVmaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVmqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVm6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KgVkaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/ISynchronizedAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KgVkqHnEeKNUa7kbzEWsw" x="345" y="335"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVnKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0KgVn6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KgVoKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVoaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVoqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVo6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVpKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVpaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVpqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVp6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KgVnaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/EStructuralFeatureValueAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KgVnqHnEeKNUa7kbzEWsw" x="320" y="585" width="373"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVqKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0KgVq6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KgVrKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVraHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVrqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVr6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVsKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVsaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVsqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVs6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KgVqaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/SlaveObjectAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KgVqqHnEeKNUa7kbzEWsw" x="135" y="440"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVwKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0KgVw6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KgVxKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVxaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVxqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVx6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVyKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgVyaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgVyqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgVy6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KgVwaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/MasterEObjectAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KgVwqHnEeKNUa7kbzEWsw" x="535" y="475"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KgVzKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0KgVz6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KgV0KHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KgV0aHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KgV0qHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0KgV06HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KpfgKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KpfgaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KpfgqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Kpfg6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KgVzaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/AbstractAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KgVzqHnEeKNUa7kbzEWsw" x="465" y="120"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KpfhKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0Kpfh6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KpfiKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KpfiaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KpfiqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Kpfi6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KpfjKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KpfjaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KpfjqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Kpfj6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KpfhaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/AxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KpfhqHnEeKNUa7kbzEWsw" x="480" y="230"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KpfkKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0Kpfk6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KpflKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KpflaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KpflqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Kpfl6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KpfmKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KpfmaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KpfmqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Kpfm6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KpfkaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/ISlaveAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KpfkqHnEeKNUa7kbzEWsw" x="160" y="335"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KpfnKHnEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0Kpfn6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0KpfoKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KpfoaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KpfoqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Kpfo6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0KpfpKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0KpfpaHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0KpfpqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Kpfp6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0KpfnaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/IMasterAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0KpfnqHnEeKNUa7kbzEWsw" x="570" y="335"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9Ll7kKHnEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9L5dkqHnEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9L5dk6HnEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_9Ll7k6HnEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_9Ll7lKHnEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9Ll7laHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9Ll7lqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9Ll7l6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9Ll7mKHnEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_9Ll7maHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9Ll7mqHnEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9Ll7m6HnEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_9Ll7kaHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Ll7kqHnEeKNUa7kbzEWsw" x="965" y="495" height="210"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lHzcUKHwEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lIGXSKHwEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lIGXSaHwEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_lH9NUKHwEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_lH9NUaHwEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lH9NUqHwEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lH9NU6HwEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lH9NVKHwEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lH9NVaHwEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_lH9NVqHwEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lH9NV6HwEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lH9NWKHwEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_lHzcUaHwEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/IAxis"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lHzcUqHwEeKNUa7kbzEWsw" x="40" y="100"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_atztMKHxEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_atztM6HxEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_atztNKHxEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_atztNaHxEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_atztNqHxEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_atztN6HxEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_atztOKHxEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_atztOaHxEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_atztOqHxEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_atztO6HxEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_atztMaHxEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/MasterObjectAxisProvider"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atztMqHxEeKNUa7kbzEWsw" x="565" y="410"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_UypeIZewEeKr0Yypv4rfLA"/>
+ <element xmi:type="ecore:EPackage" href="nattable.ecore#//nattableaxisprovider"/>
+ <edges xmi:type="notation:Edge" xmi:id="_0K9BgKHnEeKNUa7kbzEWsw" type="3003" source="_0KgVkKHnEeKNUa7kbzEWsw" target="_0KpfhKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0K9BgaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0K9BgqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0K9Bg6HnEeKNUa7kbzEWsw" points="[0, 0, -91, 60]$[0, -30, -91, 30]$[91, -30, 0, 30]$[91, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3ZKHnEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3ZaHnEeKNUa7kbzEWsw" id="(0.39215686274509803,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0K9BhKHnEeKNUa7kbzEWsw" type="3003" source="_0KgVnKHnEeKNUa7kbzEWsw" target="_0KgVkKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0K9BhaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0K9BhqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0K9Bh6HnEeKNUa7kbzEWsw" points="[0, 0, 0, 171]$[0, -171, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0LsoYKHnEeKNUa7kbzEWsw" id="(0.289544235924933,0.13953488372093023)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0LsoYaHnEeKNUa7kbzEWsw" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0K9BiKHnEeKNUa7kbzEWsw" type="3003" source="_0KgVnKHnEeKNUa7kbzEWsw" target="_0KgVwKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0K9BiaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0K9BiqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0K9Bi6HnEeKNUa7kbzEWsw" points="[10, -2, 77, 64]$[10, -63, 77, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3cKHnEeKNUa7kbzEWsw" id="(0.8900804289544236,0.06976744186046512)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3caHnEeKNUa7kbzEWsw" id="(0.2737430167597765,0.9411764705882353)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0K9BjKHnEeKNUa7kbzEWsw" type="3003" source="_0KgVqKHnEeKNUa7kbzEWsw" target="_0KpfkKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0K9BjaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0K9BjqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0K9Bj6HnEeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3YqHnEeKNUa7kbzEWsw" id="(0.49760765550239233,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3Y6HnEeKNUa7kbzEWsw" id="(0.4959349593495935,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0LGLeKHnEeKNUa7kbzEWsw" type="3003" source="_0KgVwKHnEeKNUa7kbzEWsw" target="_atztMKHxEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0LGLeaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0LGLeqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0LGLe6HnEeKNUa7kbzEWsw" points="[-32, 0, 68, 59]$[-32, -24, 68, 35]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3bKHnEeKNUa7kbzEWsw" id="(0.7486033519553073,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3baHnEeKNUa7kbzEWsw" id="(0.01744186046511628,0.16279069767441862)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0LGLfKHnEeKNUa7kbzEWsw" type="3003" source="_0KpfhKHnEeKNUa7kbzEWsw" target="_0KgVzKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0LGLfaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0LGLfqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0LGLf6HnEeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3ZqHnEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3Z6HnEeKNUa7kbzEWsw" id="(0.49635036496350365,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0LGLgKHnEeKNUa7kbzEWsw" type="3003" source="_0KpfnKHnEeKNUa7kbzEWsw" target="_0KpfhKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0LGLgaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0LGLgqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0LGLg6HnEeKNUa7kbzEWsw" points="[0, 0, 61, 70]$[0, -84, 61, -14]$[-56, -84, 5, -14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3YKHnEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3YaHnEeKNUa7kbzEWsw" id="(0.9509803921568627,0.8604651162790697)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_0LGLhKHnEeKNUa7kbzEWsw" type="3003" source="_0KpfkKHnEeKNUa7kbzEWsw" target="_0KpfhKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_0LGLhaHnEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0LGLhqHnEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0LGLh6HnEeKNUa7kbzEWsw" points="[0, 0, -278, 60]$[0, -30, -278, 30]$[278, -30, 0, 30]$[278, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3aKHnEeKNUa7kbzEWsw" id="(0.4959349593495935,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0Li3aaHnEeKNUa7kbzEWsw" id="(0.19607843137254902,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_9LvslqHnEeKNUa7kbzEWsw" type="3002" source="_0KgVnKHnEeKNUa7kbzEWsw" target="_9Ll7kKHnEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_9LvsmqHnEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9Lvsm6HnEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9LvsnKHnEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9LvsnaHnEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_9Lvsl6HnEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9LvsmKHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisprovider/EStructuralFeatureValueAxisProvider/listenFeature"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9LvsmaHnEeKNUa7kbzEWsw" points="[-15, -20, 416, 551]$[-430, -570, 1, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_9LvsnqHnEeKNUa7kbzEWsw" type="3002" source="_0KgVwKHnEeKNUa7kbzEWsw" target="_9Ll7kKHnEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_9LvsoqHnEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9Lvso6HnEeKNUa7kbzEWsw" x="-86" y="-20"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9L5dkKHnEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9L5dkaHnEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_9Lvsn6HnEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9LvsoKHnEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisprovider/MasterEObjectAxisProvider/pastedElementContainmentFeature"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9LvsoaHnEeKNUa7kbzEWsw" points="[89, 21, -360, -86]$[342, 81, -107, -26]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lpCrsKHxEeKNUa7kbzEWsw" id="(0.9832402234636871,0.8627450980392157)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lRZAsKHxEeKNUa7kbzEWsw" id="(0.055299539170506916,0.08717948717948718)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_lIGXQKHwEeKNUa7kbzEWsw" type="3002" source="_0KpfhKHnEeKNUa7kbzEWsw" target="_lHzcUKHwEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_lIGXRKHwEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lIGXRaHwEeKNUa7kbzEWsw" x="9" y="-47"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_lIGXRqHwEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lIGXR6HwEeKNUa7kbzEWsw" x="9" y="31"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_lIGXQaHwEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lIGXQqHwEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisprovider/AxisProvider/axis"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lIGXQ6HwEeKNUa7kbzEWsw" points="[-50, 0, 257, 109]$[-307, 0, 0, 109]$[-307, -67, 0, 42]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_dhhyAKHxEeKNUa7kbzEWsw" type="3003" source="_atztMKHxEeKNUa7kbzEWsw" target="_0KpfnKHnEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_dhhyAaHxEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dhhyAqHxEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dhhyA6HxEeKNUa7kbzEWsw" points="[-19, -20, 36, 40]$[-53, -75, 2, -15]"/>
+ </edges>
+</notation:Diagram>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableonfiguration.ecorediag b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableonfiguration.ecorediag
new file mode 100644
index 0000000..48a147a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattableonfiguration.ecorediag
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_UypeIJewEeKr0Yypv4rfLA" type="EcoreTools" name="nattableaxisconfiguration" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_3EuuMKHrEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_3E4fMKHrEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_3E4fMaHrEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fMqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fM6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fNKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fNaHrEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fNqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fN6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fOKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3EuuMaHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3EuuMqHrEeKNUa7kbzEWsw" x="565" y="225" height="68"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fOaHrEeKNUa7kbzEWsw" type="1005">
+ <children xmi:type="notation:Node" xmi:id="_3E4fPKHrEeKNUa7kbzEWsw" type="4010"/>
+ <children xmi:type="notation:Node" xmi:id="_3E4fPaHrEeKNUa7kbzEWsw" type="5008">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fPqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fP6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fQKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3E4fOqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EEnum" href="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3E4fO6HrEeKNUa7kbzEWsw" x="20" y="20"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fQaHrEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_3E4fRKHrEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_3E4fRaHrEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fRqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fR6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fSKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fSaHrEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fSqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fS6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fTKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3E4fQqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3E4fQ6HrEeKNUa7kbzEWsw" x="1050" y="345"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fWaHrEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_3E4fXKHrEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_3E4fXaHrEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fXqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fX6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fYKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fYaHrEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fYqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fY6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fZKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3E4fWqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/FeatureAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3E4fW6HrEeKNUa7kbzEWsw" x="95" y="550" width="198" height="78"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fZaHrEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_3E4faKHrEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_3E4faaHrEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4faqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fa6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fbKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fbaHrEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fbqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fb6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fcKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3E4fZqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3E4fZ6HrEeKNUa7kbzEWsw" x="855" y="235"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fcaHrEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_3E4fdKHrEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_3E4fdaHrEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fdqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fd6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4feKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4feaHrEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4feqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fe6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4ffKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3E4fcqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/IAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3E4fc6HrEeKNUa7kbzEWsw" x="115" y="395"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4ffaHrEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_3E4fgKHrEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_3E4fgaHrEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fgqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fg6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fhKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3E4fhaHrEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3E4fhqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3E4fh6HrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3E4fiKHrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3E4ffqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/AxisManager"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3E4ff6HrEeKNUa7kbzEWsw" x="575" y="105"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FCQMKHrEeKNUa7kbzEWsw" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_3FCQM6HrEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_3FCQNKHrEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3FCQNaHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3FCQNqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3FCQN6HrEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FCQOKHrEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_3FCQOaHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3FCQOqHrEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3FCQO6HrEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_3FCQMaHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3FCQMqHrEeKNUa7kbzEWsw" x="865" y="125" width="283"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VWNvsKHsEeKNUa7kbzEWsw" type="1001">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VWgqoKHsEeKNUa7kbzEWsw" source="Shortcut">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VWgqoaHsEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+ </eAnnotations>
+ <children xmi:type="notation:Node" xmi:id="_VWNvs6HsEeKNUa7kbzEWsw" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_VWNvtKHsEeKNUa7kbzEWsw" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_VWNvtaHsEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VWNvtqHsEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_VWNvt6HsEeKNUa7kbzEWsw"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VWNvuKHsEeKNUa7kbzEWsw" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_VWNvuaHsEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VWNvuqHsEeKNUa7kbzEWsw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_VWNvu6HsEeKNUa7kbzEWsw"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_VWNvsaHsEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="nattable.ecore#//nattablelabelprovider/AbstractLabelConfiguration"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VWNvsqHsEeKNUa7kbzEWsw" x="260" y="265" width="208" height="103"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_UypeIZewEeKr0Yypv4rfLA"/>
+ <element xmi:type="ecore:EPackage" href="nattable.ecore#//nattableaxisconfiguration"/>
+ <edges xmi:type="notation:Edge" xmi:id="_3FVLIKHrEeKNUa7kbzEWsw" type="3002" source="_3EuuMKHrEeKNUa7kbzEWsw" target="_3E4ffaHrEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_3FVLJKHrEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLJaHrEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FVLJqHrEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLJ6HrEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FVLIaHrEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FVLIqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/axisManager"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FVLI6HrEeKNUa7kbzEWsw" points="[0, 0, 0, 111]$[0, -111, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BBKHrEeKNUa7kbzEWsw" id="(0.4971751412429379,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BBaHrEeKNUa7kbzEWsw" id="(0.49645390070921985,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FVLKKHrEeKNUa7kbzEWsw" type="3002" source="_3EuuMKHrEeKNUa7kbzEWsw" target="_3E4fcaHrEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_3FVLLKHrEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLLaHrEeKNUa7kbzEWsw" x="-19" y="32"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FVLLqHrEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLL6HrEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FVLKaHrEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FVLKqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/localSpecificConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FVLK6HrEeKNUa7kbzEWsw" points="[0, 21, 426, -149]$[0, 170, 426, 0]$[-412, 170, 14, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BEaHrEeKNUa7kbzEWsw" id="(0.889763779527559,0.5116279069767442)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FVLMKHrEeKNUa7kbzEWsw" type="3002" source="_3E4fZaHrEeKNUa7kbzEWsw" target="_3EuuMKHrEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_3FVLNKHrEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLNaHrEeKNUa7kbzEWsw" x="-98" y="39"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FVLNqHrEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLN6HrEeKNUa7kbzEWsw" x="-2" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FVLMaHrEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FVLMqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration/axisManagerConfigurations"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FVLM6HrEeKNUa7kbzEWsw" points="[0, 0, -420, 60]$[420, -60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BDKHrEeKNUa7kbzEWsw" id="(0.7467248908296943,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BDaHrEeKNUa7kbzEWsw" id="(0.903954802259887,0.45588235294117646)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FVLOKHrEeKNUa7kbzEWsw" type="3002" source="_3E4fQaHrEeKNUa7kbzEWsw" target="_3E4fcaHrEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_3FVLPKHrEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLPaHrEeKNUa7kbzEWsw" x="-4" y="-52"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FVLPqHrEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FVLP6HrEeKNUa7kbzEWsw" x="3" y="-27"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FVLOaHrEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FVLOqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/ownedAxisConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FVLO6HrEeKNUa7kbzEWsw" points="[0, 9, 915, -4]$[-650, 9, 265, -4]$[-810, 9, 105, -4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BBqHrEeKNUa7kbzEWsw" id="(0.0,0.7843137254901961)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BB6HrEeKNUa7kbzEWsw" id="(0.16535433070866143,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FVLQKHrEeKNUa7kbzEWsw" type="3003" source="_3FCQMKHrEeKNUa7kbzEWsw" target="_3E4fQaHrEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FVLQaHrEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FVLQqHrEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FVLQ6HrEeKNUa7kbzEWsw" points="[6, 5, -109, -279]$[6, 184, -109, -100]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BCqHrEeKNUa7kbzEWsw" id="(0.7985865724381626,0.8837209302325582)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BC6HrEeKNUa7kbzEWsw" id="(0.75,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FVLRKHrEeKNUa7kbzEWsw" type="3003" source="_3E4fZaHrEeKNUa7kbzEWsw" target="_3E4fQaHrEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FVLRaHrEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FVLRqHrEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FVLR6HrEeKNUa7kbzEWsw" points="[0, 0, 0, 163]$[0, -163, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BDqHrEeKNUa7kbzEWsw" id="(0.4978165938864629,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BD6HrEeKNUa7kbzEWsw" id="(0.038461538461538464,0.6372549019607843)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FeVEKHrEeKNUa7kbzEWsw" type="3003" source="_3E4fWaHrEeKNUa7kbzEWsw" target="_3E4fcaHrEeKNUa7kbzEWsw">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FeVEaHrEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FeVEqHrEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FeVE6HrEeKNUa7kbzEWsw" points="[-10, -38, 6, 122]$[-10, -152, 6, 8]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BAaHrEeKNUa7kbzEWsw" id="(0.49606299212598426,0.813953488372093)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FeVFKHrEeKNUa7kbzEWsw" type="3002" source="_3E4ffaHrEeKNUa7kbzEWsw" target="_3E4fcaHrEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_3FeVGKHrEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FeVGaHrEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FeVGqHrEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FeVG6HrEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FeVFaHrEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FeVFqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/AxisManager/specificAxisConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FeVF6HrEeKNUa7kbzEWsw" points="[-69, 0, 398, -331]$[-467, 0, 0, -331]$[-467, 290, 0, -41]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BAqHrEeKNUa7kbzEWsw" id="(0.49645390070921985,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BA6HrEeKNUa7kbzEWsw" id="(0.49606299212598426,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3FeVHKHrEeKNUa7kbzEWsw" type="3002" source="_3FCQMKHrEeKNUa7kbzEWsw" target="_3E4ffaHrEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_3FeVIKHrEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FeVIaHrEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3FeVIqHrEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3FeVI6HrEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3FeVHaHrEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3FeVHqHrEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration/axisManagers"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3FeVH6HrEeKNUa7kbzEWsw" points="[0, 0, -180, 111]$[129, -61, -51, 50]$[180, -111, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BCKHrEeKNUa7kbzEWsw" id="(0.6633165829145728,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3F7BCaHrEeKNUa7kbzEWsw" id="(0.9290780141843972,0.6666666666666666)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VWXgsKHsEeKNUa7kbzEWsw" type="3002" source="_3E4fQaHrEeKNUa7kbzEWsw" target="_VWNvsKHsEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_VWXgtKHsEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VWXgtaHsEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VWXgtqHsEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VWXgt6HsEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VWXgsaHsEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VWXgsqHsEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/ownedLabelConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VWXgs6HsEeKNUa7kbzEWsw" points="[-103, -44, 856, 362]$[-958, -406, 1, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ivJfsKHsEeKNUa7kbzEWsw" id="(0.04807692307692308,0.14705882352941177)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jcYZIKHsEeKNUa7kbzEWsw" id="(0.9615384615384616,0.8640776699029126)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VWXguKHsEeKNUa7kbzEWsw" type="3002" source="_3E4ffaHrEeKNUa7kbzEWsw" target="_VWNvsKHsEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_VWXgvKHsEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VWXgvaHsEeKNUa7kbzEWsw" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VWXgvqHsEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VWXgv6HsEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VWXguaHsEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VWXguqHsEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/AxisManager/headerLabelConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VWXgu6HsEeKNUa7kbzEWsw" points="[-69, 0, 212, -186]$[-281, 0, 0, -186]$[-281, 136, 0, -50]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_VWXgwKHsEeKNUa7kbzEWsw" type="3002" source="_3EuuMKHrEeKNUa7kbzEWsw" target="_VWNvsKHsEeKNUa7kbzEWsw">
+ <children xmi:type="notation:Node" xmi:id="_VWXgxKHsEeKNUa7kbzEWsw" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VWXgxaHsEeKNUa7kbzEWsw" x="-116" y="-41"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_VWXgxqHsEeKNUa7kbzEWsw" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VWXgx6HsEeKNUa7kbzEWsw" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_VWXgwaHsEeKNUa7kbzEWsw" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VWXgwqHsEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/localHeaderLabelConfiguration"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VWXgw6HsEeKNUa7kbzEWsw" points="[-37, -20, 421, 236]$[-457, -256, 1, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lvqqYKHsEeKNUa7kbzEWsw" id="(0.9423076923076923,0.0970873786407767)"/>
+ </edges>
+</notation:Diagram>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/plugin.properties b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/plugin.properties
new file mode 100644
index 0000000..5c5fdbe
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/plugin.properties
@@ -0,0 +1,17 @@
+# Copyright (c) 2020 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:
+# Eike Stepper - Initial API and implementation
+
+pluginName = Papyrus Nattable Model (CDO Version)
+providerName = Eclipse Modeling Project
+
+pluginDescription=This plugin provides the metamodel used by the nattable editor.
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/plugin.xml b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/plugin.xml
new file mode 100644
index 0000000..7121b3b
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/plugin.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2020 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:
+ Eike Stepper - Initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.NattableFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.impl.NattableFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.NattableconfigurationFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.impl.NattableconfigurationFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl.NattableaxisproviderFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.impl.NattableaxisproviderFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.NattablelabelproviderFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.impl.NattablelabelproviderFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.NattableaxisconfigurationFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.impl.NattableaxisconfigurationFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattabletester.impl.NattabletesterFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.impl.NattabletesterFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.NattableaxisFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.impl.NattableaxisFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattablecell"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl.NattablecellFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.impl.NattablecellFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattableproblem"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableproblem.impl.NattableproblemFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.impl.NattableproblemFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.NattablestyleFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.impl.NattablestyleFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattablecelleditor"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.NattablecelleditorFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.impl.NattablecelleditorFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/papyrus/nattable/model/table/nattablewrapper"
+ class="org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablewrapper.impl.NattablewrapperFactoryImpl"
+ predecessor="org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.impl.NattablewrapperFactoryImpl"/>
+ </extension>
+
+</plugin>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/pom.xml b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/pom.xml
new file mode 100644
index 0000000..de4f6ef
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.cdo-bundles</artifactId>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.nattable.model.cdo</artifactId>
+ <version>4.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/Activator.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/Activator.java
new file mode 100644
index 0000000..bef03be
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/Activator.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2016 CEA LIST, Christian W. Damus, 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
+ * 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
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.model.cdo;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.nattable.model.cdo"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+}
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/impl/NattableFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/impl/NattableFactoryImpl.java
new file mode 100644
index 0000000..52d3298
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/impl/NattableFactoryImpl.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.NattableFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.NattablePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class NattableFactoryImpl extends EFactoryImpl implements NattableFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static NattableFactory init() {
+ try {
+ NattableFactory theNattableFactory = (NattableFactory) EPackage.Registry.INSTANCE.getEFactory(NattablePackage.eNS_URI);
+ if (theNattableFactory != null) {
+ return theNattableFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattableFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NattableFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattablePackage.TABLE:
+ return createTable();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Table createTable() {
+ TableImpl table = new TableImpl();
+ return table;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NattablePackage getNattablePackage() {
+ return (NattablePackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattablePackage getPackage() {
+ return NattablePackage.eINSTANCE;
+ }
+} // NattableFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/impl/TableImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/impl/TableImpl.java
new file mode 100644
index 0000000..d1a38f7
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/impl/TableImpl.java
@@ -0,0 +1,714 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.impl;
+
+import java.util.Collection;
+
+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.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableNamedElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.NattablePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.LocalTableHeaderAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.AbstractAxisProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.Cell;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.ICellEditorConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.TableConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getPrototype <em>Prototype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getTableConfiguration <em>Table Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#isInvertAxis <em>Invert Axis</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getColumnAxisProvidersHistory <em>Column Axis Providers History</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getRowAxisProvidersHistory <em>Row Axis Providers History</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getLocalRowHeaderAxisConfiguration <em>Local Row Header Axis Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getLocalColumnHeaderAxisConfiguration <em>Local Column Header Axis Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getCurrentRowAxisProvider <em>Current Row Axis Provider</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getCurrentColumnAxisProvider <em>Current Column Axis Provider</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getCells <em>Cells</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getOwnedCellEditorConfigurations <em>Owned Cell Editor Configurations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl.TableImpl#getTableKindId <em>Table Kind Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TableImpl extends TableNamedElementImpl implements Table {
+
+ /**
+ * The default value of the '{@link #isInvertAxis() <em>Invert Axis</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isInvertAxis()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INVERT_AXIS_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #getTableKindId() <em>Table Kind Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getTableKindId()
+ * @generated
+ * @ordered
+ */
+ protected static final String TABLE_KIND_ID_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablePackage.Literals.TABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject getContext() {
+ return (EObject) eDynamicGet(NattablePackage.TABLE__CONTEXT - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CONTEXT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject basicGetContext() {
+ return (EObject) eDynamicGet(NattablePackage.TABLE__CONTEXT - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CONTEXT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setContext(EObject newContext) {
+ eDynamicSet(NattablePackage.TABLE__CONTEXT - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CONTEXT, newContext);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject getOwner() {
+ return (EObject) eDynamicGet(NattablePackage.TABLE__OWNER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__OWNER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject basicGetOwner() {
+ return (EObject) eDynamicGet(NattablePackage.TABLE__OWNER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__OWNER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOwner(EObject newOwner) {
+ eDynamicSet(NattablePackage.TABLE__OWNER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__OWNER, newOwner);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject getPrototype() {
+ return (EObject) eDynamicGet(NattablePackage.TABLE__PROTOTYPE - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__PROTOTYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject basicGetPrototype() {
+ return (EObject) eDynamicGet(NattablePackage.TABLE__PROTOTYPE - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__PROTOTYPE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setPrototype(EObject newPrototype) {
+ eDynamicSet(NattablePackage.TABLE__PROTOTYPE - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__PROTOTYPE, newPrototype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public TableConfiguration getTableConfiguration() {
+ return (TableConfiguration) eDynamicGet(NattablePackage.TABLE__TABLE_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__TABLE_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TableConfiguration basicGetTableConfiguration() {
+ return (TableConfiguration) eDynamicGet(NattablePackage.TABLE__TABLE_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__TABLE_CONFIGURATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTableConfiguration(TableConfiguration newTableConfiguration) {
+ eDynamicSet(NattablePackage.TABLE__TABLE_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__TABLE_CONFIGURATION, newTableConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isInvertAxis() {
+ return (Boolean) eDynamicGet(NattablePackage.TABLE__INVERT_AXIS - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__INVERT_AXIS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setInvertAxis(boolean newInvertAxis) {
+ eDynamicSet(NattablePackage.TABLE__INVERT_AXIS - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__INVERT_AXIS, newInvertAxis);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<AbstractAxisProvider> getColumnAxisProvidersHistory() {
+ return (EList<AbstractAxisProvider>) eDynamicGet(NattablePackage.TABLE__COLUMN_AXIS_PROVIDERS_HISTORY - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__COLUMN_AXIS_PROVIDERS_HISTORY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<AbstractAxisProvider> getRowAxisProvidersHistory() {
+ return (EList<AbstractAxisProvider>) eDynamicGet(NattablePackage.TABLE__ROW_AXIS_PROVIDERS_HISTORY - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__ROW_AXIS_PROVIDERS_HISTORY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LocalTableHeaderAxisConfiguration getLocalRowHeaderAxisConfiguration() {
+ return (LocalTableHeaderAxisConfiguration) eDynamicGet(NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetLocalRowHeaderAxisConfiguration(LocalTableHeaderAxisConfiguration newLocalRowHeaderAxisConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newLocalRowHeaderAxisConfiguration, NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLocalRowHeaderAxisConfiguration(LocalTableHeaderAxisConfiguration newLocalRowHeaderAxisConfiguration) {
+ eDynamicSet(NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION, newLocalRowHeaderAxisConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public LocalTableHeaderAxisConfiguration getLocalColumnHeaderAxisConfiguration() {
+ return (LocalTableHeaderAxisConfiguration) eDynamicGet(NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetLocalColumnHeaderAxisConfiguration(LocalTableHeaderAxisConfiguration newLocalColumnHeaderAxisConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newLocalColumnHeaderAxisConfiguration, NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setLocalColumnHeaderAxisConfiguration(LocalTableHeaderAxisConfiguration newLocalColumnHeaderAxisConfiguration) {
+ eDynamicSet(NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION, newLocalColumnHeaderAxisConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public AbstractAxisProvider getCurrentRowAxisProvider() {
+ return (AbstractAxisProvider) eDynamicGet(NattablePackage.TABLE__CURRENT_ROW_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CURRENT_ROW_AXIS_PROVIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AbstractAxisProvider basicGetCurrentRowAxisProvider() {
+ return (AbstractAxisProvider) eDynamicGet(NattablePackage.TABLE__CURRENT_ROW_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CURRENT_ROW_AXIS_PROVIDER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCurrentRowAxisProvider(AbstractAxisProvider newCurrentRowAxisProvider) {
+ eDynamicSet(NattablePackage.TABLE__CURRENT_ROW_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CURRENT_ROW_AXIS_PROVIDER, newCurrentRowAxisProvider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public AbstractAxisProvider getCurrentColumnAxisProvider() {
+ return (AbstractAxisProvider) eDynamicGet(NattablePackage.TABLE__CURRENT_COLUMN_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CURRENT_COLUMN_AXIS_PROVIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AbstractAxisProvider basicGetCurrentColumnAxisProvider() {
+ return (AbstractAxisProvider) eDynamicGet(NattablePackage.TABLE__CURRENT_COLUMN_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CURRENT_COLUMN_AXIS_PROVIDER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setCurrentColumnAxisProvider(AbstractAxisProvider newCurrentColumnAxisProvider) {
+ eDynamicSet(NattablePackage.TABLE__CURRENT_COLUMN_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CURRENT_COLUMN_AXIS_PROVIDER, newCurrentColumnAxisProvider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Cell> getCells() {
+ return (EList<Cell>) eDynamicGet(NattablePackage.TABLE__CELLS - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__CELLS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ICellEditorConfiguration getOwnedCellEditorConfigurations() {
+ return (ICellEditorConfiguration) eDynamicGet(NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetOwnedCellEditorConfigurations(ICellEditorConfiguration newOwnedCellEditorConfigurations, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newOwnedCellEditorConfigurations, NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOwnedCellEditorConfigurations(ICellEditorConfiguration newOwnedCellEditorConfigurations) {
+ eDynamicSet(NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS, newOwnedCellEditorConfigurations);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getTableKindId() {
+ return (String) eDynamicGet(NattablePackage.TABLE__TABLE_KIND_ID - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__TABLE_KIND_ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setTableKindId(String newTableKindId) {
+ eDynamicSet(NattablePackage.TABLE__TABLE_KIND_ID - ESTATIC_FEATURE_COUNT, NattablePackage.Literals.TABLE__TABLE_KIND_ID, newTableKindId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattablePackage.TABLE__COLUMN_AXIS_PROVIDERS_HISTORY:
+ return ((InternalEList<?>) getColumnAxisProvidersHistory()).basicRemove(otherEnd, msgs);
+ case NattablePackage.TABLE__ROW_AXIS_PROVIDERS_HISTORY:
+ return ((InternalEList<?>) getRowAxisProvidersHistory()).basicRemove(otherEnd, msgs);
+ case NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION:
+ return basicSetLocalRowHeaderAxisConfiguration(null, msgs);
+ case NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION:
+ return basicSetLocalColumnHeaderAxisConfiguration(null, msgs);
+ case NattablePackage.TABLE__CELLS:
+ return ((InternalEList<?>) getCells()).basicRemove(otherEnd, msgs);
+ case NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ return basicSetOwnedCellEditorConfigurations(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 NattablePackage.TABLE__CONTEXT:
+ if (resolve) {
+ return getContext();
+ }
+ return basicGetContext();
+ case NattablePackage.TABLE__OWNER:
+ if (resolve) {
+ return getOwner();
+ }
+ return basicGetOwner();
+ case NattablePackage.TABLE__PROTOTYPE:
+ if (resolve) {
+ return getPrototype();
+ }
+ return basicGetPrototype();
+ case NattablePackage.TABLE__TABLE_CONFIGURATION:
+ if (resolve) {
+ return getTableConfiguration();
+ }
+ return basicGetTableConfiguration();
+ case NattablePackage.TABLE__INVERT_AXIS:
+ return isInvertAxis();
+ case NattablePackage.TABLE__COLUMN_AXIS_PROVIDERS_HISTORY:
+ return getColumnAxisProvidersHistory();
+ case NattablePackage.TABLE__ROW_AXIS_PROVIDERS_HISTORY:
+ return getRowAxisProvidersHistory();
+ case NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION:
+ return getLocalRowHeaderAxisConfiguration();
+ case NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION:
+ return getLocalColumnHeaderAxisConfiguration();
+ case NattablePackage.TABLE__CURRENT_ROW_AXIS_PROVIDER:
+ if (resolve) {
+ return getCurrentRowAxisProvider();
+ }
+ return basicGetCurrentRowAxisProvider();
+ case NattablePackage.TABLE__CURRENT_COLUMN_AXIS_PROVIDER:
+ if (resolve) {
+ return getCurrentColumnAxisProvider();
+ }
+ return basicGetCurrentColumnAxisProvider();
+ case NattablePackage.TABLE__CELLS:
+ return getCells();
+ case NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ return getOwnedCellEditorConfigurations();
+ case NattablePackage.TABLE__TABLE_KIND_ID:
+ return getTableKindId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablePackage.TABLE__CONTEXT:
+ setContext((EObject) newValue);
+ return;
+ case NattablePackage.TABLE__OWNER:
+ setOwner((EObject) newValue);
+ return;
+ case NattablePackage.TABLE__PROTOTYPE:
+ setPrototype((EObject) newValue);
+ return;
+ case NattablePackage.TABLE__TABLE_CONFIGURATION:
+ setTableConfiguration((TableConfiguration) newValue);
+ return;
+ case NattablePackage.TABLE__INVERT_AXIS:
+ setInvertAxis((Boolean) newValue);
+ return;
+ case NattablePackage.TABLE__COLUMN_AXIS_PROVIDERS_HISTORY:
+ getColumnAxisProvidersHistory().clear();
+ getColumnAxisProvidersHistory().addAll((Collection<? extends AbstractAxisProvider>) newValue);
+ return;
+ case NattablePackage.TABLE__ROW_AXIS_PROVIDERS_HISTORY:
+ getRowAxisProvidersHistory().clear();
+ getRowAxisProvidersHistory().addAll((Collection<? extends AbstractAxisProvider>) newValue);
+ return;
+ case NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION:
+ setLocalRowHeaderAxisConfiguration((LocalTableHeaderAxisConfiguration) newValue);
+ return;
+ case NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION:
+ setLocalColumnHeaderAxisConfiguration((LocalTableHeaderAxisConfiguration) newValue);
+ return;
+ case NattablePackage.TABLE__CURRENT_ROW_AXIS_PROVIDER:
+ setCurrentRowAxisProvider((AbstractAxisProvider) newValue);
+ return;
+ case NattablePackage.TABLE__CURRENT_COLUMN_AXIS_PROVIDER:
+ setCurrentColumnAxisProvider((AbstractAxisProvider) newValue);
+ return;
+ case NattablePackage.TABLE__CELLS:
+ getCells().clear();
+ getCells().addAll((Collection<? extends Cell>) newValue);
+ return;
+ case NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ setOwnedCellEditorConfigurations((ICellEditorConfiguration) newValue);
+ return;
+ case NattablePackage.TABLE__TABLE_KIND_ID:
+ setTableKindId((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablePackage.TABLE__CONTEXT:
+ setContext((EObject) null);
+ return;
+ case NattablePackage.TABLE__OWNER:
+ setOwner((EObject) null);
+ return;
+ case NattablePackage.TABLE__PROTOTYPE:
+ setPrototype((EObject) null);
+ return;
+ case NattablePackage.TABLE__TABLE_CONFIGURATION:
+ setTableConfiguration((TableConfiguration) null);
+ return;
+ case NattablePackage.TABLE__INVERT_AXIS:
+ setInvertAxis(INVERT_AXIS_EDEFAULT);
+ return;
+ case NattablePackage.TABLE__COLUMN_AXIS_PROVIDERS_HISTORY:
+ getColumnAxisProvidersHistory().clear();
+ return;
+ case NattablePackage.TABLE__ROW_AXIS_PROVIDERS_HISTORY:
+ getRowAxisProvidersHistory().clear();
+ return;
+ case NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION:
+ setLocalRowHeaderAxisConfiguration((LocalTableHeaderAxisConfiguration) null);
+ return;
+ case NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION:
+ setLocalColumnHeaderAxisConfiguration((LocalTableHeaderAxisConfiguration) null);
+ return;
+ case NattablePackage.TABLE__CURRENT_ROW_AXIS_PROVIDER:
+ setCurrentRowAxisProvider((AbstractAxisProvider) null);
+ return;
+ case NattablePackage.TABLE__CURRENT_COLUMN_AXIS_PROVIDER:
+ setCurrentColumnAxisProvider((AbstractAxisProvider) null);
+ return;
+ case NattablePackage.TABLE__CELLS:
+ getCells().clear();
+ return;
+ case NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ setOwnedCellEditorConfigurations((ICellEditorConfiguration) null);
+ return;
+ case NattablePackage.TABLE__TABLE_KIND_ID:
+ setTableKindId(TABLE_KIND_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablePackage.TABLE__CONTEXT:
+ return basicGetContext() != null;
+ case NattablePackage.TABLE__OWNER:
+ return basicGetOwner() != null;
+ case NattablePackage.TABLE__PROTOTYPE:
+ return basicGetPrototype() != null;
+ case NattablePackage.TABLE__TABLE_CONFIGURATION:
+ return basicGetTableConfiguration() != null;
+ case NattablePackage.TABLE__INVERT_AXIS:
+ return isInvertAxis() != INVERT_AXIS_EDEFAULT;
+ case NattablePackage.TABLE__COLUMN_AXIS_PROVIDERS_HISTORY:
+ return !getColumnAxisProvidersHistory().isEmpty();
+ case NattablePackage.TABLE__ROW_AXIS_PROVIDERS_HISTORY:
+ return !getRowAxisProvidersHistory().isEmpty();
+ case NattablePackage.TABLE__LOCAL_ROW_HEADER_AXIS_CONFIGURATION:
+ return getLocalRowHeaderAxisConfiguration() != null;
+ case NattablePackage.TABLE__LOCAL_COLUMN_HEADER_AXIS_CONFIGURATION:
+ return getLocalColumnHeaderAxisConfiguration() != null;
+ case NattablePackage.TABLE__CURRENT_ROW_AXIS_PROVIDER:
+ return basicGetCurrentRowAxisProvider() != null;
+ case NattablePackage.TABLE__CURRENT_COLUMN_AXIS_PROVIDER:
+ return basicGetCurrentColumnAxisProvider() != null;
+ case NattablePackage.TABLE__CELLS:
+ return !getCells().isEmpty();
+ case NattablePackage.TABLE__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ return getOwnedCellEditorConfigurations() != null;
+ case NattablePackage.TABLE__TABLE_KIND_ID:
+ return TABLE_KIND_ID_EDEFAULT == null ? getTableKindId() != null : !TABLE_KIND_ID_EDEFAULT.equals(getTableKindId());
+ }
+ return super.eIsSet(featureID);
+ }
+} // TableImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/AxisGroupImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/AxisGroupImpl.java
new file mode 100644
index 0000000..fb84ad4
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/AxisGroupImpl.java
@@ -0,0 +1,255 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.AxisGroup;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Axis Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.AxisGroupImpl#getManager <em>Manager</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.AxisGroupImpl#getAlias <em>Alias</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.AxisGroupImpl#getGroupedAxis <em>Grouped Axis</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AxisGroupImpl extends StyledElementImpl implements AxisGroup {
+
+ /**
+ * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIAS_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AxisGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.AXIS_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisManagerRepresentation getManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.AXIS_GROUP__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation basicGetManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.AXIS_GROUP__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setManager(AxisManagerRepresentation newManager) {
+ eDynamicSet(NattableaxisPackage.AXIS_GROUP__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, newManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getAlias() {
+ return (String)eDynamicGet(NattableaxisPackage.AXIS_GROUP__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setAlias(String newAlias) {
+ eDynamicSet(NattableaxisPackage.AXIS_GROUP__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, newAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<IAxis> getGroupedAxis() {
+ return (EList<IAxis>)eDynamicGet(NattableaxisPackage.AXIS_GROUP__GROUPED_AXIS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.AXIS_GROUP__GROUPED_AXIS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getElement() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ILabelProviderConfiguration getLocalLabelConfiguration() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisPackage.AXIS_GROUP__MANAGER:
+ if (resolve) return getManager();
+ return basicGetManager();
+ case NattableaxisPackage.AXIS_GROUP__ALIAS:
+ return getAlias();
+ case NattableaxisPackage.AXIS_GROUP__GROUPED_AXIS:
+ return getGroupedAxis();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.AXIS_GROUP__MANAGER:
+ setManager((AxisManagerRepresentation)newValue);
+ return;
+ case NattableaxisPackage.AXIS_GROUP__ALIAS:
+ setAlias((String)newValue);
+ return;
+ case NattableaxisPackage.AXIS_GROUP__GROUPED_AXIS:
+ getGroupedAxis().clear();
+ getGroupedAxis().addAll((Collection<? extends IAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.AXIS_GROUP__MANAGER:
+ setManager((AxisManagerRepresentation)null);
+ return;
+ case NattableaxisPackage.AXIS_GROUP__ALIAS:
+ setAlias(ALIAS_EDEFAULT);
+ return;
+ case NattableaxisPackage.AXIS_GROUP__GROUPED_AXIS:
+ getGroupedAxis().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.AXIS_GROUP__MANAGER:
+ return basicGetManager() != null;
+ case NattableaxisPackage.AXIS_GROUP__ALIAS:
+ return ALIAS_EDEFAULT == null ? getAlias() != null : !ALIAS_EDEFAULT.equals(getAlias());
+ case NattableaxisPackage.AXIS_GROUP__GROUPED_AXIS:
+ return !getGroupedAxis().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattableaxisPackage.AXIS_GROUP___GET_ELEMENT:
+ return getElement();
+ case NattableaxisPackage.AXIS_GROUP___GET_LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+} // AxisGroupImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EObjectAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EObjectAxisImpl.java
new file mode 100644
index 0000000..cf55583
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EObjectAxisImpl.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EObjectAxisImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectAxisImpl extends ObjectAxisImpl implements EObjectAxis {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.EOBJECT_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject getElement() {
+ return (EObject)eDynamicGet(NattableaxisPackage.EOBJECT_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.EOBJECT_AXIS__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetElement() {
+ return (EObject)eDynamicGet(NattableaxisPackage.EOBJECT_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.EOBJECT_AXIS__ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setElement(EObject newElement) {
+ eDynamicSet(NattableaxisPackage.EOBJECT_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.EOBJECT_AXIS__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_AXIS__ELEMENT:
+ if (resolve) return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_AXIS__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_AXIS__ELEMENT:
+ setElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_AXIS__ELEMENT:
+ return basicGetElement() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // EObjectAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EObjectTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EObjectTreeItemAxisImpl.java
new file mode 100644
index 0000000..eb573ec
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EObjectTreeItemAxisImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EObjectTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EObjectTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EObjectTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectTreeItemAxisImpl extends EObjectAxisImpl implements EObjectTreeItemAxis {
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.EOBJECT_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // EObjectTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EOperationAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EOperationAxisImpl.java
new file mode 100644
index 0000000..c49ef0e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EOperationAxisImpl.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EOperationAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EOperation Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EOperationAxisImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EOperationAxisImpl extends OperationAxisImpl implements EOperationAxis {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EOperationAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.EOPERATION_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getElement() {
+ return (EOperation)eDynamicGet(NattableaxisPackage.EOPERATION_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.EOPERATION_AXIS__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation basicGetElement() {
+ return (EOperation)eDynamicGet(NattableaxisPackage.EOPERATION_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.EOPERATION_AXIS__ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(EOperation newElement) {
+ eDynamicSet(NattableaxisPackage.EOPERATION_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.EOPERATION_AXIS__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_AXIS__ELEMENT:
+ if (resolve) return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_AXIS__ELEMENT:
+ setElement((EOperation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_AXIS__ELEMENT:
+ setElement((EOperation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_AXIS__ELEMENT:
+ return basicGetElement() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EOperationAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EOperationTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EOperationTreeItemAxisImpl.java
new file mode 100644
index 0000000..004e153
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EOperationTreeItemAxisImpl.java
@@ -0,0 +1,291 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EOperationTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EOperation Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EOperationTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EOperationTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EOperationTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EOperationTreeItemAxisImpl extends EOperationAxisImpl implements EOperationTreeItemAxis {
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EOperationTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.EOPERATION_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //EOperationTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EStructuralFeatureAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EStructuralFeatureAxisImpl.java
new file mode 100644
index 0000000..81809b4
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EStructuralFeatureAxisImpl.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EStructuralFeatureAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EStructural Feature Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EStructuralFeatureAxisImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EStructuralFeatureAxisImpl extends FeatureAxisImpl implements EStructuralFeatureAxis {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeatureAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.ESTRUCTURAL_FEATURE_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EStructuralFeature getElement() {
+ return (EStructuralFeature)eDynamicGet(NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ESTRUCTURAL_FEATURE_AXIS__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EStructuralFeature basicGetElement() {
+ return (EStructuralFeature)eDynamicGet(NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ESTRUCTURAL_FEATURE_AXIS__ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setElement(EStructuralFeature newElement) {
+ eDynamicSet(NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ESTRUCTURAL_FEATURE_AXIS__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS__ELEMENT:
+ if (resolve) return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS__ELEMENT:
+ setElement((EStructuralFeature)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS__ELEMENT:
+ setElement((EStructuralFeature)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS__ELEMENT:
+ return basicGetElement() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // EStructuralFeatureAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EStructuralFeatureTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EStructuralFeatureTreeItemAxisImpl.java
new file mode 100644
index 0000000..fa4cb11
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/EStructuralFeatureTreeItemAxisImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EStructuralFeatureTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EStructural Feature Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EStructuralFeatureTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EStructuralFeatureTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.EStructuralFeatureTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EStructuralFeatureTreeItemAxisImpl extends EStructuralFeatureAxisImpl implements EStructuralFeatureTreeItemAxis {
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeatureTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // EStructuralFeatureTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureAxisImpl.java
new file mode 100644
index 0000000..046aecf
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureAxisImpl.java
@@ -0,0 +1,272 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+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.InternalEObject;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.FeatureAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.FeatureLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureAxisImpl#getManager <em>Manager</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureAxisImpl#getAlias <em>Alias</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureAxisImpl#getLocalLabelConfiguration <em>Local Label Configuration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FeatureAxisImpl extends StyledElementImpl implements FeatureAxis {
+
+ /**
+ * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIAS_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.FEATURE_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisManagerRepresentation getManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.FEATURE_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation basicGetManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.FEATURE_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setManager(AxisManagerRepresentation newManager) {
+ eDynamicSet(NattableaxisPackage.FEATURE_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, newManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getAlias() {
+ return (String)eDynamicGet(NattableaxisPackage.FEATURE_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setAlias(String newAlias) {
+ eDynamicSet(NattableaxisPackage.FEATURE_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, newAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FeatureLabelProviderConfiguration getLocalLabelConfiguration() {
+ return (FeatureLabelProviderConfiguration)eDynamicGet(NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocalLabelConfiguration(FeatureLabelProviderConfiguration newLocalLabelConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newLocalLabelConfiguration, NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLocalLabelConfiguration(FeatureLabelProviderConfiguration newLocalLabelConfiguration) {
+ eDynamicSet(NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION, newLocalLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getElement() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return basicSetLocalLabelConfiguration(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 NattableaxisPackage.FEATURE_AXIS__MANAGER:
+ if (resolve) return getManager();
+ return basicGetManager();
+ case NattableaxisPackage.FEATURE_AXIS__ALIAS:
+ return getAlias();
+ case NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)newValue);
+ return;
+ case NattableaxisPackage.FEATURE_AXIS__ALIAS:
+ setAlias((String)newValue);
+ return;
+ case NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((FeatureLabelProviderConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)null);
+ return;
+ case NattableaxisPackage.FEATURE_AXIS__ALIAS:
+ setAlias(ALIAS_EDEFAULT);
+ return;
+ case NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((FeatureLabelProviderConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_AXIS__MANAGER:
+ return basicGetManager() != null;
+ case NattableaxisPackage.FEATURE_AXIS__ALIAS:
+ return ALIAS_EDEFAULT == null ? getAlias() != null : !ALIAS_EDEFAULT.equals(getAlias());
+ case NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattableaxisPackage.FEATURE_AXIS___GET_ELEMENT:
+ return getElement();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+} // FeatureAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureIdAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureIdAxisImpl.java
new file mode 100644
index 0000000..478d8b1
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureIdAxisImpl.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.FeatureAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.FeatureIdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.FeatureLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Id Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureIdAxisImpl#getLocalLabelConfiguration <em>Local Label Configuration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureIdAxisImpl extends IdAxisImpl implements FeatureIdAxis {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureIdAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.FEATURE_ID_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FeatureLabelProviderConfiguration getLocalLabelConfiguration() {
+ return (FeatureLabelProviderConfiguration)eDynamicGet(NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocalLabelConfiguration(FeatureLabelProviderConfiguration newLocalLabelConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newLocalLabelConfiguration, NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLocalLabelConfiguration(FeatureLabelProviderConfiguration newLocalLabelConfiguration) {
+ eDynamicSet(NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION, newLocalLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return basicSetLocalLabelConfiguration(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 NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((FeatureLabelProviderConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((FeatureLabelProviderConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == FeatureAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION;
+ 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 == FeatureAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.FEATURE_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.FEATURE_ID_AXIS__LOCAL_LABEL_CONFIGURATION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // FeatureIdAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureIdTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureIdTreeItemAxisImpl.java
new file mode 100644
index 0000000..834c894
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureIdTreeItemAxisImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.FeatureIdTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Id Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureIdTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureIdTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureIdTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureIdTreeItemAxisImpl extends FeatureIdAxisImpl implements FeatureIdTreeItemAxis {
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureIdTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.FEATURE_ID_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // FeatureIdTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureTreeItemAxisImpl.java
new file mode 100644
index 0000000..59c86cf
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/FeatureTreeItemAxisImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.FeatureTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.FeatureTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FeatureTreeItemAxisImpl extends FeatureAxisImpl implements FeatureTreeItemAxis {
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.FEATURE_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.FEATURE_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // FeatureTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/IdAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/IdAxisImpl.java
new file mode 100644
index 0000000..d49d27b
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/IdAxisImpl.java
@@ -0,0 +1,256 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Id Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.IdAxisImpl#getManager <em>Manager</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.IdAxisImpl#getAlias <em>Alias</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.IdAxisImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class IdAxisImpl extends StyledElementImpl implements IdAxis {
+
+ /**
+ * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIAS_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getElement() <em>Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IdAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.ID_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisManagerRepresentation getManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.ID_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation basicGetManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.ID_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setManager(AxisManagerRepresentation newManager) {
+ eDynamicSet(NattableaxisPackage.ID_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, newManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getAlias() {
+ return (String)eDynamicGet(NattableaxisPackage.ID_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setAlias(String newAlias) {
+ eDynamicSet(NattableaxisPackage.ID_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, newAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getElement() {
+ return (String)eDynamicGet(NattableaxisPackage.ID_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ID_AXIS__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setElement(String newElement) {
+ eDynamicSet(NattableaxisPackage.ID_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ID_AXIS__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ILabelProviderConfiguration getLocalLabelConfiguration() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_AXIS__MANAGER:
+ if (resolve) return getManager();
+ return basicGetManager();
+ case NattableaxisPackage.ID_AXIS__ALIAS:
+ return getAlias();
+ case NattableaxisPackage.ID_AXIS__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)newValue);
+ return;
+ case NattableaxisPackage.ID_AXIS__ALIAS:
+ setAlias((String)newValue);
+ return;
+ case NattableaxisPackage.ID_AXIS__ELEMENT:
+ setElement((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)null);
+ return;
+ case NattableaxisPackage.ID_AXIS__ALIAS:
+ setAlias(ALIAS_EDEFAULT);
+ return;
+ case NattableaxisPackage.ID_AXIS__ELEMENT:
+ setElement(ELEMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_AXIS__MANAGER:
+ return basicGetManager() != null;
+ case NattableaxisPackage.ID_AXIS__ALIAS:
+ return ALIAS_EDEFAULT == null ? getAlias() != null : !ALIAS_EDEFAULT.equals(getAlias());
+ case NattableaxisPackage.ID_AXIS__ELEMENT:
+ return ELEMENT_EDEFAULT == null ? getElement() != null : !ELEMENT_EDEFAULT.equals(getElement());
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattableaxisPackage.ID_AXIS___GET_LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+} // IdAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/IdTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/IdTreeItemAxisImpl.java
new file mode 100644
index 0000000..b64113b
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/IdTreeItemAxisImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IdTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Id Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.IdTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.IdTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.IdTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IdTreeItemAxisImpl extends IdAxisImpl implements IdTreeItemAxis {
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IdTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.ID_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ID_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ID_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ID_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // IdTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/NattableaxisFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/NattableaxisFactoryImpl.java
new file mode 100644
index 0000000..7e5dbb4
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/NattableaxisFactoryImpl.java
@@ -0,0 +1,273 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.AxisGroup;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EObjectTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EOperationAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EOperationTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EStructuralFeatureAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.EStructuralFeatureTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.FeatureIdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.FeatureIdTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IdTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ObjectIdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ObjectIdTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationIdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationIdTreeItemAxis;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattableaxisFactoryImpl extends EFactoryImpl implements NattableaxisFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattableaxisFactory init() {
+ try {
+ NattableaxisFactory theNattableaxisFactory = (NattableaxisFactory)EPackage.Registry.INSTANCE.getEFactory(NattableaxisPackage.eNS_URI);
+ if (theNattableaxisFactory != null) {
+ return theNattableaxisFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattableaxisFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattableaxisFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattableaxisPackage.ID_TREE_ITEM_AXIS: return createIdTreeItemAxis();
+ case NattableaxisPackage.EOBJECT_AXIS: return createEObjectAxis();
+ case NattableaxisPackage.EOBJECT_TREE_ITEM_AXIS: return createEObjectTreeItemAxis();
+ case NattableaxisPackage.FEATURE_ID_AXIS: return createFeatureIdAxis();
+ case NattableaxisPackage.FEATURE_ID_TREE_ITEM_AXIS: return createFeatureIdTreeItemAxis();
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_AXIS: return createEStructuralFeatureAxis();
+ case NattableaxisPackage.EOPERATION_AXIS: return createEOperationAxis();
+ case NattableaxisPackage.ESTRUCTURAL_FEATURE_TREE_ITEM_AXIS: return createEStructuralFeatureTreeItemAxis();
+ case NattableaxisPackage.EOPERATION_TREE_ITEM_AXIS: return createEOperationTreeItemAxis();
+ case NattableaxisPackage.OBJECT_ID_AXIS: return createObjectIdAxis();
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS: return createObjectIdTreeItemAxis();
+ case NattableaxisPackage.AXIS_GROUP: return createAxisGroup();
+ case NattableaxisPackage.OPERATION_ID_AXIS: return createOperationIdAxis();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS: return createOperationIdTreeItemAxis();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public IdTreeItemAxis createIdTreeItemAxis() {
+ IdTreeItemAxisImpl idTreeItemAxis = new IdTreeItemAxisImpl();
+ return idTreeItemAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObjectAxis createEObjectAxis() {
+ EObjectAxisImpl eObjectAxis = new EObjectAxisImpl();
+ return eObjectAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObjectTreeItemAxis createEObjectTreeItemAxis() {
+ EObjectTreeItemAxisImpl eObjectTreeItemAxis = new EObjectTreeItemAxisImpl();
+ return eObjectTreeItemAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FeatureIdAxis createFeatureIdAxis() {
+ FeatureIdAxisImpl featureIdAxis = new FeatureIdAxisImpl();
+ return featureIdAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FeatureIdTreeItemAxis createFeatureIdTreeItemAxis() {
+ FeatureIdTreeItemAxisImpl featureIdTreeItemAxis = new FeatureIdTreeItemAxisImpl();
+ return featureIdTreeItemAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EStructuralFeatureAxis createEStructuralFeatureAxis() {
+ EStructuralFeatureAxisImpl eStructuralFeatureAxis = new EStructuralFeatureAxisImpl();
+ return eStructuralFeatureAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperationAxis createEOperationAxis() {
+ EOperationAxisImpl eOperationAxis = new EOperationAxisImpl();
+ return eOperationAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EStructuralFeatureTreeItemAxis createEStructuralFeatureTreeItemAxis() {
+ EStructuralFeatureTreeItemAxisImpl eStructuralFeatureTreeItemAxis = new EStructuralFeatureTreeItemAxisImpl();
+ return eStructuralFeatureTreeItemAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperationTreeItemAxis createEOperationTreeItemAxis() {
+ EOperationTreeItemAxisImpl eOperationTreeItemAxis = new EOperationTreeItemAxisImpl();
+ return eOperationTreeItemAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectIdAxis createObjectIdAxis() {
+ ObjectIdAxisImpl objectIdAxis = new ObjectIdAxisImpl();
+ return objectIdAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectIdTreeItemAxis createObjectIdTreeItemAxis() {
+ ObjectIdTreeItemAxisImpl objectIdTreeItemAxis = new ObjectIdTreeItemAxisImpl();
+ return objectIdTreeItemAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisGroup createAxisGroup() {
+ AxisGroupImpl axisGroup = new AxisGroupImpl();
+ return axisGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationIdAxis createOperationIdAxis() {
+ OperationIdAxisImpl operationIdAxis = new OperationIdAxisImpl();
+ return operationIdAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationIdTreeItemAxis createOperationIdTreeItemAxis() {
+ OperationIdTreeItemAxisImpl operationIdTreeItemAxis = new OperationIdTreeItemAxisImpl();
+ return operationIdTreeItemAxis;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattableaxisPackage getNattableaxisPackage() {
+ return (NattableaxisPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattableaxisPackage getPackage() {
+ return NattableaxisPackage.eINSTANCE;
+ }
+} // NattableaxisFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectAxisImpl.java
new file mode 100644
index 0000000..cfc1dc3
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectAxisImpl.java
@@ -0,0 +1,272 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+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.InternalEObject;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ObjectAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ObjectLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectAxisImpl#getManager <em>Manager</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectAxisImpl#getAlias <em>Alias</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectAxisImpl#getLocalLabelConfiguration <em>Local Label Configuration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ObjectAxisImpl extends StyledElementImpl implements ObjectAxis {
+
+ /**
+ * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIAS_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OBJECT_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisManagerRepresentation getManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.OBJECT_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation basicGetManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.OBJECT_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setManager(AxisManagerRepresentation newManager) {
+ eDynamicSet(NattableaxisPackage.OBJECT_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, newManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getAlias() {
+ return (String)eDynamicGet(NattableaxisPackage.OBJECT_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setAlias(String newAlias) {
+ eDynamicSet(NattableaxisPackage.OBJECT_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, newAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectLabelProviderConfiguration getLocalLabelConfiguration() {
+ return (ObjectLabelProviderConfiguration)eDynamicGet(NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocalLabelConfiguration(ObjectLabelProviderConfiguration newLocalLabelConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newLocalLabelConfiguration, NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLocalLabelConfiguration(ObjectLabelProviderConfiguration newLocalLabelConfiguration) {
+ eDynamicSet(NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION, newLocalLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getElement() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return basicSetLocalLabelConfiguration(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 NattableaxisPackage.OBJECT_AXIS__MANAGER:
+ if (resolve) return getManager();
+ return basicGetManager();
+ case NattableaxisPackage.OBJECT_AXIS__ALIAS:
+ return getAlias();
+ case NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)newValue);
+ return;
+ case NattableaxisPackage.OBJECT_AXIS__ALIAS:
+ setAlias((String)newValue);
+ return;
+ case NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((ObjectLabelProviderConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)null);
+ return;
+ case NattableaxisPackage.OBJECT_AXIS__ALIAS:
+ setAlias(ALIAS_EDEFAULT);
+ return;
+ case NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((ObjectLabelProviderConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_AXIS__MANAGER:
+ return basicGetManager() != null;
+ case NattableaxisPackage.OBJECT_AXIS__ALIAS:
+ return ALIAS_EDEFAULT == null ? getAlias() != null : !ALIAS_EDEFAULT.equals(getAlias());
+ case NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattableaxisPackage.OBJECT_AXIS___GET_ELEMENT:
+ return getElement();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+} // ObjectAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectIdAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectIdAxisImpl.java
new file mode 100644
index 0000000..c6b840d
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectIdAxisImpl.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ObjectAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ObjectIdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ObjectLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Id Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectIdAxisImpl#getLocalLabelConfiguration <em>Local Label Configuration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ObjectIdAxisImpl extends IdAxisImpl implements ObjectIdAxis {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectIdAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OBJECT_ID_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectLabelProviderConfiguration getLocalLabelConfiguration() {
+ return (ObjectLabelProviderConfiguration)eDynamicGet(NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocalLabelConfiguration(ObjectLabelProviderConfiguration newLocalLabelConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newLocalLabelConfiguration, NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLocalLabelConfiguration(ObjectLabelProviderConfiguration newLocalLabelConfiguration) {
+ eDynamicSet(NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION, newLocalLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return basicSetLocalLabelConfiguration(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 NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((ObjectLabelProviderConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((ObjectLabelProviderConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ObjectAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION;
+ 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 == ObjectAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.OBJECT_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.OBJECT_ID_AXIS__LOCAL_LABEL_CONFIGURATION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // ObjectIdAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectIdTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectIdTreeItemAxisImpl.java
new file mode 100644
index 0000000..ec00308
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectIdTreeItemAxisImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ObjectIdTreeItemAxis;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Id Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectIdTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectIdTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectIdTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ObjectIdTreeItemAxisImpl extends ObjectIdAxisImpl implements ObjectIdTreeItemAxis {
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectIdTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OBJECT_ID_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.OBJECT_ID_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // ObjectIdTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectTreeItemAxisImpl.java
new file mode 100644
index 0000000..7b63170
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/ObjectTreeItemAxisImpl.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ObjectTreeItemAxis;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.ObjectTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ObjectTreeItemAxisImpl extends ObjectAxisImpl implements ObjectTreeItemAxis {
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OBJECT_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.OBJECT_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+} // ObjectTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationAxisImpl.java
new file mode 100644
index 0000000..ab0d4c8
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationAxisImpl.java
@@ -0,0 +1,265 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+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.InternalEObject;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.OperationLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationAxisImpl#getManager <em>Manager</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationAxisImpl#getAlias <em>Alias</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationAxisImpl#getLocalLabelConfiguration <em>Local Label Configuration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class OperationAxisImpl extends StyledElementImpl implements OperationAxis {
+ /**
+ * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIAS_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OPERATION_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation getManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.OPERATION_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation basicGetManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.OPERATION_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setManager(AxisManagerRepresentation newManager) {
+ eDynamicSet(NattableaxisPackage.OPERATION_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, newManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAlias() {
+ return (String)eDynamicGet(NattableaxisPackage.OPERATION_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAlias(String newAlias) {
+ eDynamicSet(NattableaxisPackage.OPERATION_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, newAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationLabelProviderConfiguration getLocalLabelConfiguration() {
+ return (OperationLabelProviderConfiguration)eDynamicGet(NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocalLabelConfiguration(OperationLabelProviderConfiguration newLocalLabelConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newLocalLabelConfiguration, NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocalLabelConfiguration(OperationLabelProviderConfiguration newLocalLabelConfiguration) {
+ eDynamicSet(NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION, newLocalLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getElement() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return basicSetLocalLabelConfiguration(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 NattableaxisPackage.OPERATION_AXIS__MANAGER:
+ if (resolve) return getManager();
+ return basicGetManager();
+ case NattableaxisPackage.OPERATION_AXIS__ALIAS:
+ return getAlias();
+ case NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_AXIS__ALIAS:
+ setAlias((String)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((OperationLabelProviderConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)null);
+ return;
+ case NattableaxisPackage.OPERATION_AXIS__ALIAS:
+ setAlias(ALIAS_EDEFAULT);
+ return;
+ case NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((OperationLabelProviderConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_AXIS__MANAGER:
+ return basicGetManager() != null;
+ case NattableaxisPackage.OPERATION_AXIS__ALIAS:
+ return ALIAS_EDEFAULT == null ? getAlias() != null : !ALIAS_EDEFAULT.equals(getAlias());
+ case NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattableaxisPackage.OPERATION_AXIS___GET_ELEMENT:
+ return getElement();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //OperationAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationIdAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationIdAxisImpl.java
new file mode 100644
index 0000000..ec8a596
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationIdAxisImpl.java
@@ -0,0 +1,189 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationIdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.OperationLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Id Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdAxisImpl#getLocalLabelConfiguration <em>Local Label Configuration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationIdAxisImpl extends IdAxisImpl implements OperationIdAxis {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationIdAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OPERATION_ID_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationLabelProviderConfiguration getLocalLabelConfiguration() {
+ return (OperationLabelProviderConfiguration)eDynamicGet(NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocalLabelConfiguration(OperationLabelProviderConfiguration newLocalLabelConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newLocalLabelConfiguration, NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocalLabelConfiguration(OperationLabelProviderConfiguration newLocalLabelConfiguration) {
+ eDynamicSet(NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION, newLocalLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return basicSetLocalLabelConfiguration(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 NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((OperationLabelProviderConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((OperationLabelProviderConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == OperationAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION;
+ 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 == OperationAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.OPERATION_ID_AXIS__LOCAL_LABEL_CONFIGURATION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //OperationIdAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationIdTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationIdTreeItemAxisImpl.java
new file mode 100644
index 0000000..546429a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationIdTreeItemAxisImpl.java
@@ -0,0 +1,472 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationIdAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationIdTreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.OperationLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Id Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdTreeItemAxisImpl#getManager <em>Manager</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdTreeItemAxisImpl#getAlias <em>Alias</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdTreeItemAxisImpl#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationIdTreeItemAxisImpl#getLocalLabelConfiguration <em>Local Label Configuration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationIdTreeItemAxisImpl extends StyledElementImpl implements OperationIdTreeItemAxis {
+ /**
+ * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlias()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIAS_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #getElement() <em>Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationIdTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OPERATION_ID_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation getManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation basicGetManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setManager(AxisManagerRepresentation newManager) {
+ eDynamicSet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__MANAGER, newManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAlias() {
+ return (String)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAlias(String newAlias) {
+ eDynamicSet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ALIAS - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.IAXIS__ALIAS, newAlias);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getElement() {
+ return (String)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ID_AXIS__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(String newElement) {
+ eDynamicSet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ID_AXIS__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationLabelProviderConfiguration getLocalLabelConfiguration() {
+ return (OperationLabelProviderConfiguration)eDynamicGet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLocalLabelConfiguration(OperationLabelProviderConfiguration newLocalLabelConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newLocalLabelConfiguration, NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocalLabelConfiguration(OperationLabelProviderConfiguration newLocalLabelConfiguration) {
+ eDynamicSet(NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION, newLocalLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return basicSetLocalLabelConfiguration(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 NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__MANAGER:
+ if (resolve) return getManager();
+ return basicGetManager();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ALIAS:
+ return getAlias();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT:
+ return getElement();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ALIAS:
+ setAlias((String)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT:
+ setElement((String)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((OperationLabelProviderConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__MANAGER:
+ setManager((AxisManagerRepresentation)null);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ALIAS:
+ setAlias(ALIAS_EDEFAULT);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT:
+ setElement(ELEMENT_EDEFAULT);
+ return;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION:
+ setLocalLabelConfiguration((OperationLabelProviderConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__MANAGER:
+ return basicGetManager() != null;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ALIAS:
+ return ALIAS_EDEFAULT == null ? getAlias() != null : !ALIAS_EDEFAULT.equals(getAlias());
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT:
+ return ELEMENT_EDEFAULT == null ? getElement() != null : !ELEMENT_EDEFAULT.equals(getElement());
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION:
+ return getLocalLabelConfiguration() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == IdAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT: return NattableaxisPackage.ID_AXIS__ELEMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == OperationAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == OperationIdAxis.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 == IdAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ID_AXIS__ELEMENT: return NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__ELEMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == OperationAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.OPERATION_AXIS__LOCAL_LABEL_CONFIGURATION: return NattableaxisPackage.OPERATION_ID_TREE_ITEM_AXIS__LOCAL_LABEL_CONFIGURATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == OperationIdAxis.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //OperationIdTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationTreeItemAxisImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationTreeItemAxisImpl.java
new file mode 100644
index 0000000..922b2a6
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxis/impl/OperationTreeItemAxisImpl.java
@@ -0,0 +1,291 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxis.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.ITreeItemAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.NattableaxisPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.OperationTreeItemAxis;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Tree Item Axis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationTreeItemAxisImpl#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationTreeItemAxisImpl#isExpanded <em>Expanded</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl.OperationTreeItemAxisImpl#getChildren <em>Children</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class OperationTreeItemAxisImpl extends OperationAxisImpl implements OperationTreeItemAxis {
+ /**
+ * The default value of the '{@link #isExpanded() <em>Expanded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExpanded()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXPANDED_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationTreeItemAxisImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisPackage.Literals.OPERATION_TREE_ITEM_AXIS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis getParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ITreeItemAxis basicGetParent() {
+ return (ITreeItemAxis)eDynamicGet(NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParent(ITreeItemAxis newParent, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newParent, NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(ITreeItemAxis newParent) {
+ eDynamicSet(NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__PARENT, newParent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isExpanded() {
+ return (Boolean)eDynamicGet(NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpanded(boolean newExpanded) {
+ eDynamicSet(NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__EXPANDED, newExpanded);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ITreeItemAxis> getChildren() {
+ return (EList<ITreeItemAxis>)eDynamicGet(NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN - ESTATIC_FEATURE_COUNT, NattableaxisPackage.Literals.ITREE_ITEM_AXIS__CHILDREN, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT:
+ ITreeItemAxis parent = basicGetParent();
+ if (parent != null)
+ msgs = ((InternalEObject)parent).eInverseRemove(this, NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN, ITreeItemAxis.class, msgs);
+ return basicSetParent((ITreeItemAxis)otherEnd, msgs);
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT:
+ return basicSetParent(null, msgs);
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, 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 NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded();
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return getChildren();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded((Boolean)newValue);
+ return;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ getChildren().addAll((Collection<? extends ITreeItemAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT:
+ setParent((ITreeItemAxis)null);
+ return;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED:
+ setExpanded(EXPANDED_EDEFAULT);
+ return;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN:
+ getChildren().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT:
+ return basicGetParent() != null;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED:
+ return isExpanded() != EXPANDED_EDEFAULT;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN:
+ return !getChildren().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ITreeItemAxis.class) {
+ switch (derivedFeatureID) {
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT: return NattableaxisPackage.ITREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN;
+ 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 == ITreeItemAxis.class) {
+ switch (baseFeatureID) {
+ case NattableaxisPackage.ITREE_ITEM_AXIS__PARENT: return NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__PARENT;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__EXPANDED: return NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__EXPANDED;
+ case NattableaxisPackage.ITREE_ITEM_AXIS__CHILDREN: return NattableaxisPackage.OPERATION_TREE_ITEM_AXIS__CHILDREN;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+} //OperationTreeItemAxisImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AbstractHeaderAxisConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AbstractHeaderAxisConfigurationImpl.java
new file mode 100644
index 0000000..c06ad00
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AbstractHeaderAxisConfigurationImpl.java
@@ -0,0 +1,338 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AbstractHeaderAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisIndexStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Header Axis Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AbstractHeaderAxisConfigurationImpl#getIndexStyle <em>Index Style</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AbstractHeaderAxisConfigurationImpl#isDisplayLabel <em>Display Label</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AbstractHeaderAxisConfigurationImpl#isDisplayFilter <em>Display Filter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AbstractHeaderAxisConfigurationImpl#isDisplayIndex <em>Display Index</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AbstractHeaderAxisConfigurationImpl#getOwnedLabelConfigurations <em>Owned Label Configurations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AbstractHeaderAxisConfigurationImpl#getOwnedAxisConfigurations <em>Owned Axis Configurations</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class AbstractHeaderAxisConfigurationImpl extends StyledElementImpl implements AbstractHeaderAxisConfiguration {
+
+ /**
+ * The default value of the '{@link #getIndexStyle() <em>Index Style</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIndexStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final AxisIndexStyle INDEX_STYLE_EDEFAULT = AxisIndexStyle.ALPHABETIC;
+
+ /**
+ * The default value of the '{@link #isDisplayLabel() <em>Display Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_LABEL_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isDisplayFilter() <em>Display Filter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayFilter()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_FILTER_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isDisplayIndex() <em>Display Index</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayIndex()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_INDEX_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractHeaderAxisConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisIndexStyle getIndexStyle() {
+ return (AxisIndexStyle)eDynamicGet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIndexStyle(AxisIndexStyle newIndexStyle) {
+ eDynamicSet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE, newIndexStyle);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayLabel() {
+ return (Boolean)eDynamicGet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayLabel(boolean newDisplayLabel) {
+ eDynamicSet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL, newDisplayLabel);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayFilter() {
+ return (Boolean)eDynamicGet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayFilter(boolean newDisplayFilter) {
+ eDynamicSet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER, newDisplayFilter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayIndex() {
+ return (Boolean)eDynamicGet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayIndex(boolean newDisplayIndex) {
+ eDynamicSet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX, newDisplayIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<ILabelProviderConfiguration> getOwnedLabelConfigurations() {
+ return (EList<ILabelProviderConfiguration>)eDynamicGet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_LABEL_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_LABEL_CONFIGURATIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<IAxisConfiguration> getOwnedAxisConfigurations() {
+ return (EList<IAxisConfiguration>)eDynamicGet(NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_AXIS_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_AXIS_CONFIGURATIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_LABEL_CONFIGURATIONS:
+ return ((InternalEList<?>)getOwnedLabelConfigurations()).basicRemove(otherEnd, msgs);
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_AXIS_CONFIGURATIONS:
+ return ((InternalEList<?>)getOwnedAxisConfigurations()).basicRemove(otherEnd, 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 NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE:
+ return getIndexStyle();
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL:
+ return isDisplayLabel();
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER:
+ return isDisplayFilter();
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX:
+ return isDisplayIndex();
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_LABEL_CONFIGURATIONS:
+ return getOwnedLabelConfigurations();
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_AXIS_CONFIGURATIONS:
+ return getOwnedAxisConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE:
+ setIndexStyle((AxisIndexStyle)newValue);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL:
+ setDisplayLabel((Boolean)newValue);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER:
+ setDisplayFilter((Boolean)newValue);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX:
+ setDisplayIndex((Boolean)newValue);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_LABEL_CONFIGURATIONS:
+ getOwnedLabelConfigurations().clear();
+ getOwnedLabelConfigurations().addAll((Collection<? extends ILabelProviderConfiguration>)newValue);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_AXIS_CONFIGURATIONS:
+ getOwnedAxisConfigurations().clear();
+ getOwnedAxisConfigurations().addAll((Collection<? extends IAxisConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE:
+ setIndexStyle(INDEX_STYLE_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL:
+ setDisplayLabel(DISPLAY_LABEL_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER:
+ setDisplayFilter(DISPLAY_FILTER_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX:
+ setDisplayIndex(DISPLAY_INDEX_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_LABEL_CONFIGURATIONS:
+ getOwnedLabelConfigurations().clear();
+ return;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_AXIS_CONFIGURATIONS:
+ getOwnedAxisConfigurations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__INDEX_STYLE:
+ return getIndexStyle() != INDEX_STYLE_EDEFAULT;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_LABEL:
+ return isDisplayLabel() != DISPLAY_LABEL_EDEFAULT;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_FILTER:
+ return isDisplayFilter() != DISPLAY_FILTER_EDEFAULT;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__DISPLAY_INDEX:
+ return isDisplayIndex() != DISPLAY_INDEX_EDEFAULT;
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_LABEL_CONFIGURATIONS:
+ return !getOwnedLabelConfigurations().isEmpty();
+ case NattableaxisconfigurationPackage.ABSTRACT_HEADER_AXIS_CONFIGURATION__OWNED_AXIS_CONFIGURATIONS:
+ return !getOwnedAxisConfigurations().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // AbstractHeaderAxisConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AxisManagerConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AxisManagerConfigurationImpl.java
new file mode 100644
index 0000000..385e3ed
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AxisManagerConfigurationImpl.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Axis Manager Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AxisManagerConfigurationImpl#getLocalHeaderLabelConfiguration <em>Local Header Label Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AxisManagerConfigurationImpl#getAxisManager <em>Axis Manager</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AxisManagerConfigurationImpl#getLocalSpecificConfigurations <em>Local Specific Configurations</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AxisManagerConfigurationImpl extends StyledElementImpl implements AxisManagerConfiguration {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AxisManagerConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ILabelProviderConfiguration getLocalHeaderLabelConfiguration() {
+ return (ILabelProviderConfiguration)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ILabelProviderConfiguration basicGetLocalHeaderLabelConfiguration() {
+ return (ILabelProviderConfiguration)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLocalHeaderLabelConfiguration(ILabelProviderConfiguration newLocalHeaderLabelConfiguration) {
+ eDynamicSet(NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION, newLocalHeaderLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisManagerRepresentation getAxisManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisManagerRepresentation basicGetAxisManager() {
+ return (AxisManagerRepresentation)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setAxisManager(AxisManagerRepresentation newAxisManager) {
+ eDynamicSet(NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER, newAxisManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<IAxisConfiguration> getLocalSpecificConfigurations() {
+ return (EList<IAxisConfiguration>)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_SPECIFIC_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_CONFIGURATION__LOCAL_SPECIFIC_CONFIGURATIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION:
+ if (resolve) return getLocalHeaderLabelConfiguration();
+ return basicGetLocalHeaderLabelConfiguration();
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER:
+ if (resolve) return getAxisManager();
+ return basicGetAxisManager();
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_SPECIFIC_CONFIGURATIONS:
+ return getLocalSpecificConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION:
+ setLocalHeaderLabelConfiguration((ILabelProviderConfiguration)newValue);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER:
+ setAxisManager((AxisManagerRepresentation)newValue);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_SPECIFIC_CONFIGURATIONS:
+ getLocalSpecificConfigurations().clear();
+ getLocalSpecificConfigurations().addAll((Collection<? extends IAxisConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION:
+ setLocalHeaderLabelConfiguration((ILabelProviderConfiguration)null);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER:
+ setAxisManager((AxisManagerRepresentation)null);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_SPECIFIC_CONFIGURATIONS:
+ getLocalSpecificConfigurations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_HEADER_LABEL_CONFIGURATION:
+ return basicGetLocalHeaderLabelConfiguration() != null;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__AXIS_MANAGER:
+ return basicGetAxisManager() != null;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION__LOCAL_SPECIFIC_CONFIGURATIONS:
+ return !getLocalSpecificConfigurations().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // AxisManagerConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AxisManagerRepresentationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AxisManagerRepresentationImpl.java
new file mode 100644
index 0000000..8803ace
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/AxisManagerRepresentationImpl.java
@@ -0,0 +1,254 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Axis Manager Representation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AxisManagerRepresentationImpl#getAxisManagerId <em>Axis Manager Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AxisManagerRepresentationImpl#getLabelProviderContext <em>Label Provider Context</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AxisManagerRepresentationImpl#getHeaderLabelConfiguration <em>Header Label Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.AxisManagerRepresentationImpl#getSpecificAxisConfigurations <em>Specific Axis Configurations</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AxisManagerRepresentationImpl extends StyledElementImpl implements AxisManagerRepresentation {
+
+ /**
+ * The default value of the '{@link #getAxisManagerId() <em>Axis Manager Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAxisManagerId()
+ * @generated
+ * @ordered
+ */
+ protected static final String AXIS_MANAGER_ID_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getLabelProviderContext() <em>Label Provider Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLabelProviderContext()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_PROVIDER_CONTEXT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AxisManagerRepresentationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getAxisManagerId() {
+ return (String)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setAxisManagerId(String newAxisManagerId) {
+ eDynamicSet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID, newAxisManagerId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getLabelProviderContext() {
+ return (String)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLabelProviderContext(String newLabelProviderContext) {
+ eDynamicSet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT, newLabelProviderContext);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ILabelProviderConfiguration getHeaderLabelConfiguration() {
+ return (ILabelProviderConfiguration)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ILabelProviderConfiguration basicGetHeaderLabelConfiguration() {
+ return (ILabelProviderConfiguration)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setHeaderLabelConfiguration(ILabelProviderConfiguration newHeaderLabelConfiguration) {
+ eDynamicSet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION, newHeaderLabelConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<IAxisConfiguration> getSpecificAxisConfigurations() {
+ return (EList<IAxisConfiguration>)eDynamicGet(NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__SPECIFIC_AXIS_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.AXIS_MANAGER_REPRESENTATION__SPECIFIC_AXIS_CONFIGURATIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID:
+ return getAxisManagerId();
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT:
+ return getLabelProviderContext();
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION:
+ if (resolve) return getHeaderLabelConfiguration();
+ return basicGetHeaderLabelConfiguration();
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__SPECIFIC_AXIS_CONFIGURATIONS:
+ return getSpecificAxisConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID:
+ setAxisManagerId((String)newValue);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT:
+ setLabelProviderContext((String)newValue);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION:
+ setHeaderLabelConfiguration((ILabelProviderConfiguration)newValue);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__SPECIFIC_AXIS_CONFIGURATIONS:
+ getSpecificAxisConfigurations().clear();
+ getSpecificAxisConfigurations().addAll((Collection<? extends IAxisConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID:
+ setAxisManagerId(AXIS_MANAGER_ID_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT:
+ setLabelProviderContext(LABEL_PROVIDER_CONTEXT_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION:
+ setHeaderLabelConfiguration((ILabelProviderConfiguration)null);
+ return;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__SPECIFIC_AXIS_CONFIGURATIONS:
+ getSpecificAxisConfigurations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__AXIS_MANAGER_ID:
+ return AXIS_MANAGER_ID_EDEFAULT == null ? getAxisManagerId() != null : !AXIS_MANAGER_ID_EDEFAULT.equals(getAxisManagerId());
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__LABEL_PROVIDER_CONTEXT:
+ return LABEL_PROVIDER_CONTEXT_EDEFAULT == null ? getLabelProviderContext() != null : !LABEL_PROVIDER_CONTEXT_EDEFAULT.equals(getLabelProviderContext());
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__HEADER_LABEL_CONFIGURATION:
+ return basicGetHeaderLabelConfiguration() != null;
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION__SPECIFIC_AXIS_CONFIGURATIONS:
+ return !getSpecificAxisConfigurations().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // AxisManagerRepresentationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/EStructuralFeatureValueFillingConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/EStructuralFeatureValueFillingConfigurationImpl.java
new file mode 100644
index 0000000..f63995f
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/EStructuralFeatureValueFillingConfigurationImpl.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.EStructuralFeatureValueFillingConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EStructural Feature Value Filling Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.EStructuralFeatureValueFillingConfigurationImpl#getListenFeature <em>Listen Feature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EStructuralFeatureValueFillingConfigurationImpl extends StyledElementImpl implements EStructuralFeatureValueFillingConfiguration {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeatureValueFillingConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EStructuralFeature getListenFeature() {
+ return (EStructuralFeature)eDynamicGet(NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EStructuralFeature basicGetListenFeature() {
+ return (EStructuralFeature)eDynamicGet(NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setListenFeature(EStructuralFeature newListenFeature) {
+ eDynamicSet(NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE, newListenFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE:
+ if (resolve) return getListenFeature();
+ return basicGetListenFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE:
+ setListenFeature((EStructuralFeature)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE:
+ setListenFeature((EStructuralFeature)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE:
+ return basicGetListenFeature() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // EStructuralFeatureValueFillingConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/FeatureAxisConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/FeatureAxisConfigurationImpl.java
new file mode 100644
index 0000000..fb94483
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/FeatureAxisConfigurationImpl.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.FeatureAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Axis Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.FeatureAxisConfigurationImpl#isShowOnlyCommonFeature <em>Show Only Common Feature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureAxisConfigurationImpl extends StyledElementImpl implements FeatureAxisConfiguration {
+
+ /**
+ * The default value of the '{@link #isShowOnlyCommonFeature() <em>Show Only Common Feature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isShowOnlyCommonFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_ONLY_COMMON_FEATURE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureAxisConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.FEATURE_AXIS_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isShowOnlyCommonFeature() {
+ return (Boolean)eDynamicGet(NattableaxisconfigurationPackage.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setShowOnlyCommonFeature(boolean newShowOnlyCommonFeature) {
+ eDynamicSet(NattableaxisconfigurationPackage.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE, newShowOnlyCommonFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE:
+ return isShowOnlyCommonFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE:
+ setShowOnlyCommonFeature((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE:
+ setShowOnlyCommonFeature(SHOW_ONLY_COMMON_FEATURE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.FEATURE_AXIS_CONFIGURATION__SHOW_ONLY_COMMON_FEATURE:
+ return isShowOnlyCommonFeature() != SHOW_ONLY_COMMON_FEATURE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // FeatureAxisConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java
new file mode 100644
index 0000000..249992a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IPaste Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.IPasteConfigurationImpl#getPostActions <em>Post Actions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.IPasteConfigurationImpl#isDetachedMode <em>Detached Mode</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IPasteConfigurationImpl extends StyledElementImpl implements IPasteConfiguration {
+
+ /**
+ * The default value of the '{@link #isDetachedMode() <em>Detached Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDetachedMode()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DETACHED_MODE_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPasteConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.IPASTE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<String> getPostActions() {
+ return (EList<String>)eDynamicGet(NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.IPASTE_CONFIGURATION__POST_ACTIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDetachedMode() {
+ return (Boolean)eDynamicGet(NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.IPASTE_CONFIGURATION__DETACHED_MODE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDetachedMode(boolean newDetachedMode) {
+ eDynamicSet(NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.IPASTE_CONFIGURATION__DETACHED_MODE, newDetachedMode);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ return getPostActions();
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ return isDetachedMode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ getPostActions().clear();
+ getPostActions().addAll((Collection<? extends String>)newValue);
+ return;
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ setDetachedMode((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ getPostActions().clear();
+ return;
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ setDetachedMode(DETACHED_MODE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ return !getPostActions().isEmpty();
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ return isDetachedMode() != DETACHED_MODE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // IPasteConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/LocalTableHeaderAxisConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/LocalTableHeaderAxisConfigurationImpl.java
new file mode 100644
index 0000000..bff0824
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/LocalTableHeaderAxisConfigurationImpl.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.LocalTableHeaderAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Local Table Header Axis Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.LocalTableHeaderAxisConfigurationImpl#getAxisManagerConfigurations <em>Axis Manager Configurations</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LocalTableHeaderAxisConfigurationImpl extends AbstractHeaderAxisConfigurationImpl implements LocalTableHeaderAxisConfiguration {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocalTableHeaderAxisConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<AxisManagerConfiguration> getAxisManagerConfigurations() {
+ return (EList<AxisManagerConfiguration>)eDynamicGet(NattableaxisconfigurationPackage.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGER_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGER_CONFIGURATIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGER_CONFIGURATIONS:
+ return ((InternalEList<?>)getAxisManagerConfigurations()).basicRemove(otherEnd, 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 NattableaxisconfigurationPackage.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGER_CONFIGURATIONS:
+ return getAxisManagerConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGER_CONFIGURATIONS:
+ getAxisManagerConfigurations().clear();
+ getAxisManagerConfigurations().addAll((Collection<? extends AxisManagerConfiguration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGER_CONFIGURATIONS:
+ getAxisManagerConfigurations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGER_CONFIGURATIONS:
+ return !getAxisManagerConfigurations().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // LocalTableHeaderAxisConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationFactoryImpl.java
new file mode 100644
index 0000000..ae659ac
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationFactoryImpl.java
@@ -0,0 +1,264 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisIndexStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.EStructuralFeatureValueFillingConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.FeatureAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.LocalTableHeaderAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TableHeaderAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattableaxisconfigurationFactoryImpl extends EFactoryImpl implements NattableaxisconfigurationFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattableaxisconfigurationFactory init() {
+ try {
+ NattableaxisconfigurationFactory theNattableaxisconfigurationFactory = (NattableaxisconfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(NattableaxisconfigurationPackage.eNS_URI);
+ if (theNattableaxisconfigurationFactory != null) {
+ return theNattableaxisconfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattableaxisconfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattableaxisconfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_REPRESENTATION: return createAxisManagerRepresentation();
+ case NattableaxisconfigurationPackage.AXIS_MANAGER_CONFIGURATION: return createAxisManagerConfiguration();
+ case NattableaxisconfigurationPackage.TABLE_HEADER_AXIS_CONFIGURATION: return createTableHeaderAxisConfiguration();
+ case NattableaxisconfigurationPackage.LOCAL_TABLE_HEADER_AXIS_CONFIGURATION: return createLocalTableHeaderAxisConfiguration();
+ case NattableaxisconfigurationPackage.FEATURE_AXIS_CONFIGURATION: return createFeatureAxisConfiguration();
+ case NattableaxisconfigurationPackage.ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION: return createEStructuralFeatureValueFillingConfiguration();
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION: return createIPasteConfiguration();
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION: return createPasteEObjectConfiguration();
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION: return createTreeFillingConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattableaxisconfigurationPackage.AXIS_INDEX_STYLE:
+ return createAxisIndexStyleFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattableaxisconfigurationPackage.AXIS_INDEX_STYLE:
+ return convertAxisIndexStyleToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisManagerRepresentation createAxisManagerRepresentation() {
+ AxisManagerRepresentationImpl axisManagerRepresentation = new AxisManagerRepresentationImpl();
+ return axisManagerRepresentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AxisManagerConfiguration createAxisManagerConfiguration() {
+ AxisManagerConfigurationImpl axisManagerConfiguration = new AxisManagerConfigurationImpl();
+ return axisManagerConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public TableHeaderAxisConfiguration createTableHeaderAxisConfiguration() {
+ TableHeaderAxisConfigurationImpl tableHeaderAxisConfiguration = new TableHeaderAxisConfigurationImpl();
+ return tableHeaderAxisConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LocalTableHeaderAxisConfiguration createLocalTableHeaderAxisConfiguration() {
+ LocalTableHeaderAxisConfigurationImpl localTableHeaderAxisConfiguration = new LocalTableHeaderAxisConfigurationImpl();
+ return localTableHeaderAxisConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FeatureAxisConfiguration createFeatureAxisConfiguration() {
+ FeatureAxisConfigurationImpl featureAxisConfiguration = new FeatureAxisConfigurationImpl();
+ return featureAxisConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EStructuralFeatureValueFillingConfiguration createEStructuralFeatureValueFillingConfiguration() {
+ EStructuralFeatureValueFillingConfigurationImpl eStructuralFeatureValueFillingConfiguration = new EStructuralFeatureValueFillingConfigurationImpl();
+ return eStructuralFeatureValueFillingConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public IPasteConfiguration createIPasteConfiguration() {
+ IPasteConfigurationImpl iPasteConfiguration = new IPasteConfigurationImpl();
+ return iPasteConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PasteEObjectConfiguration createPasteEObjectConfiguration() {
+ PasteEObjectConfigurationImpl pasteEObjectConfiguration = new PasteEObjectConfigurationImpl();
+ return pasteEObjectConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public TreeFillingConfiguration createTreeFillingConfiguration() {
+ TreeFillingConfigurationImpl treeFillingConfiguration = new TreeFillingConfigurationImpl();
+ return treeFillingConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AxisIndexStyle createAxisIndexStyleFromString(EDataType eDataType, String initialValue) {
+ AxisIndexStyle result = AxisIndexStyle.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAxisIndexStyleToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattableaxisconfigurationPackage getNattableaxisconfigurationPackage() {
+ return (NattableaxisconfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattableaxisconfigurationPackage getPackage() {
+ return NattableaxisconfigurationPackage.eINSTANCE;
+ }
+} // NattableaxisconfigurationFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/PasteEObjectConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/PasteEObjectConfigurationImpl.java
new file mode 100644
index 0000000..7033d46
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/PasteEObjectConfigurationImpl.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Paste EObject Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.PasteEObjectConfigurationImpl#getPastedElementId <em>Pasted Element Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.PasteEObjectConfigurationImpl#getPasteElementContainementFeature <em>Paste Element Containement Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.PasteEObjectConfigurationImpl#getAxisIdentifier <em>Axis Identifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PasteEObjectConfigurationImpl extends IPasteConfigurationImpl implements PasteEObjectConfiguration {
+
+ /**
+ * The default value of the '{@link #getPastedElementId() <em>Pasted Element Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPastedElementId()
+ * @generated
+ * @ordered
+ */
+ protected static final String PASTED_ELEMENT_ID_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PasteEObjectConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getPastedElementId() {
+ return (String)eDynamicGet(NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setPastedElementId(String newPastedElementId) {
+ eDynamicSet(NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID, newPastedElementId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EStructuralFeature getPasteElementContainementFeature() {
+ return (EStructuralFeature)eDynamicGet(NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EStructuralFeature basicGetPasteElementContainementFeature() {
+ return (EStructuralFeature)eDynamicGet(NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setPasteElementContainementFeature(EStructuralFeature newPasteElementContainementFeature) {
+ eDynamicSet(NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE, newPasteElementContainementFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IAxis getAxisIdentifier() {
+ return (IAxis)eDynamicGet(NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAxisIdentifier(IAxis newAxisIdentifier, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newAxisIdentifier, NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAxisIdentifier(IAxis newAxisIdentifier) {
+ eDynamicSet(NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER, newAxisIdentifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER:
+ return basicSetAxisIdentifier(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 NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID:
+ return getPastedElementId();
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE:
+ if (resolve) return getPasteElementContainementFeature();
+ return basicGetPasteElementContainementFeature();
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER:
+ return getAxisIdentifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID:
+ setPastedElementId((String)newValue);
+ return;
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE:
+ setPasteElementContainementFeature((EStructuralFeature)newValue);
+ return;
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER:
+ setAxisIdentifier((IAxis)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID:
+ setPastedElementId(PASTED_ELEMENT_ID_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE:
+ setPasteElementContainementFeature((EStructuralFeature)null);
+ return;
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER:
+ setAxisIdentifier((IAxis)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID:
+ return PASTED_ELEMENT_ID_EDEFAULT == null ? getPastedElementId() != null : !PASTED_ELEMENT_ID_EDEFAULT.equals(getPastedElementId());
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__PASTE_ELEMENT_CONTAINEMENT_FEATURE:
+ return basicGetPasteElementContainementFeature() != null;
+ case NattableaxisconfigurationPackage.PASTE_EOBJECT_CONFIGURATION__AXIS_IDENTIFIER:
+ return getAxisIdentifier() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // PasteEObjectConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/TableHeaderAxisConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/TableHeaderAxisConfigurationImpl.java
new file mode 100644
index 0000000..f066631
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/TableHeaderAxisConfigurationImpl.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TableHeaderAxisConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table Header Axis Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.TableHeaderAxisConfigurationImpl#getAxisManagers <em>Axis Managers</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TableHeaderAxisConfigurationImpl extends AbstractHeaderAxisConfigurationImpl implements TableHeaderAxisConfiguration {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableHeaderAxisConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.TABLE_HEADER_AXIS_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<AxisManagerRepresentation> getAxisManagers() {
+ return (EList<AxisManagerRepresentation>)eDynamicGet(NattableaxisconfigurationPackage.TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGERS - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGERS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGERS:
+ return ((InternalEList<?>)getAxisManagers()).basicRemove(otherEnd, 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 NattableaxisconfigurationPackage.TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGERS:
+ return getAxisManagers();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGERS:
+ getAxisManagers().clear();
+ getAxisManagers().addAll((Collection<? extends AxisManagerRepresentation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGERS:
+ getAxisManagers().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TABLE_HEADER_AXIS_CONFIGURATION__AXIS_MANAGERS:
+ return !getAxisManagers().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // TableHeaderAxisConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/TreeFillingConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/TreeFillingConfigurationImpl.java
new file mode 100644
index 0000000..c979798
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisconfiguration/impl/TreeFillingConfigurationImpl.java
@@ -0,0 +1,368 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.emf.expressions.booleanexpressions.IBooleanEObjectExpression;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tree Filling Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.TreeFillingConfigurationImpl#getAxisUsedAsAxisProvider <em>Axis Used As Axis Provider</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.TreeFillingConfigurationImpl#getPasteConfiguration <em>Paste Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.TreeFillingConfigurationImpl#getDepth <em>Depth</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.TreeFillingConfigurationImpl#getLabelProvider <em>Label Provider</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.TreeFillingConfigurationImpl#getLabelProviderContext <em>Label Provider Context</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl.TreeFillingConfigurationImpl#getFilterRule <em>Filter Rule</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TreeFillingConfigurationImpl extends StyledElementImpl implements TreeFillingConfiguration {
+
+ /**
+ * The default value of the '{@link #getDepth() <em>Depth</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDepth()
+ * @generated
+ * @ordered
+ */
+ protected static final int DEPTH_EDEFAULT = 0;
+
+ /**
+ * The default value of the '{@link #getLabelProviderContext() <em>Label Provider Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLabelProviderContext()
+ * @generated
+ * @ordered
+ */
+ protected static final String LABEL_PROVIDER_CONTEXT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeFillingConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public IAxis getAxisUsedAsAxisProvider() {
+ return (IAxis)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAxisUsedAsAxisProvider(IAxis newAxisUsedAsAxisProvider, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newAxisUsedAsAxisProvider, NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setAxisUsedAsAxisProvider(IAxis newAxisUsedAsAxisProvider) {
+ eDynamicSet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER, newAxisUsedAsAxisProvider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PasteEObjectConfiguration getPasteConfiguration() {
+ return (PasteEObjectConfiguration)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PasteEObjectConfiguration basicGetPasteConfiguration() {
+ return (PasteEObjectConfiguration)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setPasteConfiguration(PasteEObjectConfiguration newPasteConfiguration) {
+ eDynamicSet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION, newPasteConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int getDepth() {
+ return (Integer)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__DEPTH - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__DEPTH, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDepth(int newDepth) {
+ eDynamicSet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__DEPTH - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__DEPTH, newDepth);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ILabelProviderConfiguration getLabelProvider() {
+ return (ILabelProviderConfiguration)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ILabelProviderConfiguration basicGetLabelProvider() {
+ return (ILabelProviderConfiguration)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLabelProvider(ILabelProviderConfiguration newLabelProvider) {
+ eDynamicSet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER, newLabelProvider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getLabelProviderContext() {
+ return (String)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLabelProviderContext(String newLabelProviderContext) {
+ eDynamicSet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT, newLabelProviderContext);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IBooleanEObjectExpression getFilterRule() {
+ return (IBooleanEObjectExpression)eDynamicGet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__FILTER_RULE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFilterRule(IBooleanEObjectExpression newFilterRule, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newFilterRule, NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFilterRule(IBooleanEObjectExpression newFilterRule) {
+ eDynamicSet(NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE - ESTATIC_FEATURE_COUNT, NattableaxisconfigurationPackage.Literals.TREE_FILLING_CONFIGURATION__FILTER_RULE, newFilterRule);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER:
+ return basicSetAxisUsedAsAxisProvider(null, msgs);
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE:
+ return basicSetFilterRule(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 NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER:
+ return getAxisUsedAsAxisProvider();
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION:
+ if (resolve) return getPasteConfiguration();
+ return basicGetPasteConfiguration();
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__DEPTH:
+ return getDepth();
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER:
+ if (resolve) return getLabelProvider();
+ return basicGetLabelProvider();
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT:
+ return getLabelProviderContext();
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE:
+ return getFilterRule();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER:
+ setAxisUsedAsAxisProvider((IAxis)newValue);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION:
+ setPasteConfiguration((PasteEObjectConfiguration)newValue);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__DEPTH:
+ setDepth((Integer)newValue);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER:
+ setLabelProvider((ILabelProviderConfiguration)newValue);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT:
+ setLabelProviderContext((String)newValue);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE:
+ setFilterRule((IBooleanEObjectExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER:
+ setAxisUsedAsAxisProvider((IAxis)null);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION:
+ setPasteConfiguration((PasteEObjectConfiguration)null);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__DEPTH:
+ setDepth(DEPTH_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER:
+ setLabelProvider((ILabelProviderConfiguration)null);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT:
+ setLabelProviderContext(LABEL_PROVIDER_CONTEXT_EDEFAULT);
+ return;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE:
+ setFilterRule((IBooleanEObjectExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__AXIS_USED_AS_AXIS_PROVIDER:
+ return getAxisUsedAsAxisProvider() != null;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__PASTE_CONFIGURATION:
+ return basicGetPasteConfiguration() != null;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__DEPTH:
+ return getDepth() != DEPTH_EDEFAULT;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER:
+ return basicGetLabelProvider() != null;
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__LABEL_PROVIDER_CONTEXT:
+ return LABEL_PROVIDER_CONTEXT_EDEFAULT == null ? getLabelProviderContext() != null : !LABEL_PROVIDER_CONTEXT_EDEFAULT.equals(getLabelProviderContext());
+ case NattableaxisconfigurationPackage.TREE_FILLING_CONFIGURATION__FILTER_RULE:
+ return getFilterRule() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // TreeFillingConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/AbstractAxisProviderImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/AbstractAxisProviderImpl.java
new file mode 100644
index 0000000..aa921ea
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/AbstractAxisProviderImpl.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableNamedElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.AbstractAxisProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.NattableaxisproviderPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Axis Provider</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class AbstractAxisProviderImpl extends TableNamedElementImpl implements AbstractAxisProvider {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractAxisProviderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisproviderPackage.Literals.ABSTRACT_AXIS_PROVIDER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<IAxis> getAxis() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattableaxisproviderPackage.ABSTRACT_AXIS_PROVIDER___GET_AXIS:
+ return getAxis();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+} // AbstractAxisProviderImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/AxisProviderImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/AxisProviderImpl.java
new file mode 100644
index 0000000..eebd93c
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/AxisProviderImpl.java
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.AxisProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.NattableaxisproviderPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Axis Provider</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl.AxisProviderImpl#getAxis <em>Axis</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class AxisProviderImpl extends AbstractAxisProviderImpl implements AxisProvider {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AxisProviderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisproviderPackage.Literals.AXIS_PROVIDER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<IAxis> getAxis() {
+ return (EList<IAxis>)eDynamicGet(NattableaxisproviderPackage.AXIS_PROVIDER__AXIS - ESTATIC_FEATURE_COUNT, NattableaxisproviderPackage.Literals.AXIS_PROVIDER__AXIS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.AXIS_PROVIDER__AXIS:
+ return ((InternalEList<?>)getAxis()).basicRemove(otherEnd, 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 NattableaxisproviderPackage.AXIS_PROVIDER__AXIS:
+ return getAxis();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.AXIS_PROVIDER__AXIS:
+ getAxis().clear();
+ getAxis().addAll((Collection<? extends IAxis>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.AXIS_PROVIDER__AXIS:
+ getAxis().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.AXIS_PROVIDER__AXIS:
+ return !getAxis().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // AxisProviderImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/MasterObjectAxisProviderImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/MasterObjectAxisProviderImpl.java
new file mode 100644
index 0000000..26acf46
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/MasterObjectAxisProviderImpl.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.MasterObjectAxisProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.NattableaxisproviderPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.IWrapper;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Master Object Axis Provider</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl.MasterObjectAxisProviderImpl#isDisconnectSlave <em>Disconnect Slave</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl.MasterObjectAxisProviderImpl#getSources <em>Sources</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MasterObjectAxisProviderImpl extends AxisProviderImpl implements MasterObjectAxisProvider {
+
+ /**
+ * The default value of the '{@link #isDisconnectSlave() <em>Disconnect Slave</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisconnectSlave()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISCONNECT_SLAVE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MasterObjectAxisProviderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisproviderPackage.Literals.MASTER_OBJECT_AXIS_PROVIDER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisconnectSlave() {
+ return (Boolean)eDynamicGet(NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__DISCONNECT_SLAVE - ESTATIC_FEATURE_COUNT, NattableaxisproviderPackage.Literals.IMASTER_AXIS_PROVIDER__DISCONNECT_SLAVE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisconnectSlave(boolean newDisconnectSlave) {
+ eDynamicSet(NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__DISCONNECT_SLAVE - ESTATIC_FEATURE_COUNT, NattableaxisproviderPackage.Literals.IMASTER_AXIS_PROVIDER__DISCONNECT_SLAVE, newDisconnectSlave);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<IWrapper> getSources() {
+ return (EList<IWrapper>)eDynamicGet(NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__SOURCES - ESTATIC_FEATURE_COUNT, NattableaxisproviderPackage.Literals.IMASTER_AXIS_PROVIDER__SOURCES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__SOURCES:
+ return ((InternalEList<?>)getSources()).basicRemove(otherEnd, 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 NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__DISCONNECT_SLAVE:
+ return isDisconnectSlave();
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__SOURCES:
+ return getSources();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__DISCONNECT_SLAVE:
+ setDisconnectSlave((Boolean)newValue);
+ return;
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__SOURCES:
+ getSources().clear();
+ getSources().addAll((Collection<? extends IWrapper>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__DISCONNECT_SLAVE:
+ setDisconnectSlave(DISCONNECT_SLAVE_EDEFAULT);
+ return;
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__SOURCES:
+ getSources().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__DISCONNECT_SLAVE:
+ return isDisconnectSlave() != DISCONNECT_SLAVE_EDEFAULT;
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER__SOURCES:
+ return !getSources().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // MasterObjectAxisProviderImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/NattableaxisproviderFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/NattableaxisproviderFactoryImpl.java
new file mode 100644
index 0000000..f5fe52c
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/NattableaxisproviderFactoryImpl.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.MasterObjectAxisProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.NattableaxisproviderFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.NattableaxisproviderPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.SlaveObjectAxisProvider;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattableaxisproviderFactoryImpl extends EFactoryImpl implements NattableaxisproviderFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattableaxisproviderFactory init() {
+ try {
+ NattableaxisproviderFactory theNattableaxisproviderFactory = (NattableaxisproviderFactory)EPackage.Registry.INSTANCE.getEFactory(NattableaxisproviderPackage.eNS_URI);
+ if (theNattableaxisproviderFactory != null) {
+ return theNattableaxisproviderFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattableaxisproviderFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattableaxisproviderFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattableaxisproviderPackage.SLAVE_OBJECT_AXIS_PROVIDER: return createSlaveObjectAxisProvider();
+ case NattableaxisproviderPackage.MASTER_OBJECT_AXIS_PROVIDER: return createMasterObjectAxisProvider();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public SlaveObjectAxisProvider createSlaveObjectAxisProvider() {
+ SlaveObjectAxisProviderImpl slaveObjectAxisProvider = new SlaveObjectAxisProviderImpl();
+ return slaveObjectAxisProvider;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public MasterObjectAxisProvider createMasterObjectAxisProvider() {
+ MasterObjectAxisProviderImpl masterObjectAxisProvider = new MasterObjectAxisProviderImpl();
+ return masterObjectAxisProvider;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattableaxisproviderPackage getNattableaxisproviderPackage() {
+ return (NattableaxisproviderPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattableaxisproviderPackage getPackage() {
+ return NattableaxisproviderPackage.eINSTANCE;
+ }
+} // NattableaxisproviderFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/SlaveObjectAxisProviderImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/SlaveObjectAxisProviderImpl.java
new file mode 100644
index 0000000..da1a981
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableaxisprovider/impl/SlaveObjectAxisProviderImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.NattableaxisproviderPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.SlaveObjectAxisProvider;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Slave Object Axis Provider</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SlaveObjectAxisProviderImpl extends AxisProviderImpl implements SlaveObjectAxisProvider {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SlaveObjectAxisProviderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableaxisproviderPackage.Literals.SLAVE_OBJECT_AXIS_PROVIDER;
+ }
+} // SlaveObjectAxisProviderImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/CellImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/CellImpl.java
new file mode 100644
index 0000000..c221641
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/CellImpl.java
@@ -0,0 +1,268 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablecell.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.Cell;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.ICellAxisWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.NattablecellPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.Problem;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cell</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl.CellImpl#getColumnWrapper <em>Column Wrapper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl.CellImpl#getRowWrapper <em>Row Wrapper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl.CellImpl#getProblems <em>Problems</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public class CellImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements Cell {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CellImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablecellPackage.Literals.CELL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ICellAxisWrapper getColumnWrapper() {
+ return (ICellAxisWrapper) eDynamicGet(NattablecellPackage.CELL__COLUMN_WRAPPER - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.CELL__COLUMN_WRAPPER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetColumnWrapper(ICellAxisWrapper newColumnWrapper, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newColumnWrapper, NattablecellPackage.CELL__COLUMN_WRAPPER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setColumnWrapper(ICellAxisWrapper newColumnWrapper) {
+ eDynamicSet(NattablecellPackage.CELL__COLUMN_WRAPPER - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.CELL__COLUMN_WRAPPER, newColumnWrapper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ICellAxisWrapper getRowWrapper() {
+ return (ICellAxisWrapper) eDynamicGet(NattablecellPackage.CELL__ROW_WRAPPER - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.CELL__ROW_WRAPPER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetRowWrapper(ICellAxisWrapper newRowWrapper, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newRowWrapper, NattablecellPackage.CELL__ROW_WRAPPER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRowWrapper(ICellAxisWrapper newRowWrapper) {
+ eDynamicSet(NattablecellPackage.CELL__ROW_WRAPPER - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.CELL__ROW_WRAPPER, newRowWrapper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Problem> getProblems() {
+ return (EList<Problem>) eDynamicGet(NattablecellPackage.CELL__PROBLEMS - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.CELL__PROBLEMS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattablecellPackage.CELL__COLUMN_WRAPPER:
+ return basicSetColumnWrapper(null, msgs);
+ case NattablecellPackage.CELL__ROW_WRAPPER:
+ return basicSetRowWrapper(null, msgs);
+ case NattablecellPackage.CELL__PROBLEMS:
+ return ((InternalEList<?>) getProblems()).basicRemove(otherEnd, 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 NattablecellPackage.CELL__COLUMN_WRAPPER:
+ return getColumnWrapper();
+ case NattablecellPackage.CELL__ROW_WRAPPER:
+ return getRowWrapper();
+ case NattablecellPackage.CELL__PROBLEMS:
+ return getProblems();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablecellPackage.CELL__COLUMN_WRAPPER:
+ setColumnWrapper((ICellAxisWrapper) newValue);
+ return;
+ case NattablecellPackage.CELL__ROW_WRAPPER:
+ setRowWrapper((ICellAxisWrapper) newValue);
+ return;
+ case NattablecellPackage.CELL__PROBLEMS:
+ getProblems().clear();
+ getProblems().addAll((Collection<? extends Problem>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablecellPackage.CELL__COLUMN_WRAPPER:
+ setColumnWrapper((ICellAxisWrapper) null);
+ return;
+ case NattablecellPackage.CELL__ROW_WRAPPER:
+ setRowWrapper((ICellAxisWrapper) null);
+ return;
+ case NattablecellPackage.CELL__PROBLEMS:
+ getProblems().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablecellPackage.CELL__COLUMN_WRAPPER:
+ return getColumnWrapper() != null;
+ case NattablecellPackage.CELL__ROW_WRAPPER:
+ return getRowWrapper() != null;
+ case NattablecellPackage.CELL__PROBLEMS:
+ return !getProblems().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // CellImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/EObjectAxisWrapperImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/EObjectAxisWrapperImpl.java
new file mode 100644
index 0000000..ddc9092
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/EObjectAxisWrapperImpl.java
@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablecell.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.EObjectAxisWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.NattablecellPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject Axis Wrapper</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl.EObjectAxisWrapperImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public class EObjectAxisWrapperImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements EObjectAxisWrapper {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EObjectAxisWrapperImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablecellPackage.Literals.EOBJECT_AXIS_WRAPPER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject getElement() {
+ return (EObject) eDynamicGet(NattablecellPackage.EOBJECT_AXIS_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.EOBJECT_AXIS_WRAPPER__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject basicGetElement() {
+ return (EObject) eDynamicGet(NattablecellPackage.EOBJECT_AXIS_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.EOBJECT_AXIS_WRAPPER__ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElement(EObject newElement) {
+ eDynamicSet(NattablecellPackage.EOBJECT_AXIS_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.EOBJECT_AXIS_WRAPPER__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablecellPackage.EOBJECT_AXIS_WRAPPER__ELEMENT:
+ if (resolve) {
+ return getElement();
+ }
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablecellPackage.EOBJECT_AXIS_WRAPPER__ELEMENT:
+ setElement((EObject) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablecellPackage.EOBJECT_AXIS_WRAPPER__ELEMENT:
+ setElement((EObject) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablecellPackage.EOBJECT_AXIS_WRAPPER__ELEMENT:
+ return basicGetElement() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // EObjectAxisWrapperImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/IdAxisWrapperImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/IdAxisWrapperImpl.java
new file mode 100644
index 0000000..a99afbf
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/IdAxisWrapperImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablecell.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.IdAxisWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.NattablecellPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Id Axis Wrapper</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl.IdAxisWrapperImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public class IdAxisWrapperImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements IdAxisWrapper {
+
+ /**
+ * The default value of the '{@link #getElement() <em>Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IdAxisWrapperImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablecellPackage.Literals.ID_AXIS_WRAPPER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getElement() {
+ return (String) eDynamicGet(NattablecellPackage.ID_AXIS_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.ID_AXIS_WRAPPER__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setElement(String newElement) {
+ eDynamicSet(NattablecellPackage.ID_AXIS_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablecellPackage.Literals.ID_AXIS_WRAPPER__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablecellPackage.ID_AXIS_WRAPPER__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablecellPackage.ID_AXIS_WRAPPER__ELEMENT:
+ setElement((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablecellPackage.ID_AXIS_WRAPPER__ELEMENT:
+ setElement(ELEMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablecellPackage.ID_AXIS_WRAPPER__ELEMENT:
+ return ELEMENT_EDEFAULT == null ? getElement() != null : !ELEMENT_EDEFAULT.equals(getElement());
+ }
+ return super.eIsSet(featureID);
+ }
+} // IdAxisWrapperImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/NattablecellFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/NattablecellFactoryImpl.java
new file mode 100644
index 0000000..429a29b
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecell/impl/NattablecellFactoryImpl.java
@@ -0,0 +1,145 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablecell.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.Cell;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.EObjectAxisWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.IdAxisWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.NattablecellFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.NattablecellPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class NattablecellFactoryImpl extends EFactoryImpl implements NattablecellFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static NattablecellFactory init() {
+ try {
+ NattablecellFactory theNattablecellFactory = (NattablecellFactory) EPackage.Registry.INSTANCE.getEFactory(NattablecellPackage.eNS_URI);
+ if (theNattablecellFactory != null) {
+ return theNattablecellFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattablecellFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NattablecellFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattablecellPackage.CELL:
+ return createCell();
+ case NattablecellPackage.EOBJECT_AXIS_WRAPPER:
+ return createEObjectAxisWrapper();
+ case NattablecellPackage.ID_AXIS_WRAPPER:
+ return createIdAxisWrapper();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Cell createCell() {
+ CellImpl cell = new CellImpl();
+ return cell;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObjectAxisWrapper createEObjectAxisWrapper() {
+ EObjectAxisWrapperImpl eObjectAxisWrapper = new EObjectAxisWrapperImpl();
+ return eObjectAxisWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public IdAxisWrapper createIdAxisWrapper() {
+ IdAxisWrapperImpl idAxisWrapper = new IdAxisWrapperImpl();
+ return idAxisWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NattablecellPackage getNattablecellPackage() {
+ return (NattablecellPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattablecellPackage getPackage() {
+ return NattablecellPackage.eINSTANCE;
+ }
+} // NattablecellFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecelleditor/impl/GenericRelationshipMatrixCellEditorConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecelleditor/impl/GenericRelationshipMatrixCellEditorConfigurationImpl.java
new file mode 100644
index 0000000..25e5033
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecelleditor/impl/GenericRelationshipMatrixCellEditorConfigurationImpl.java
@@ -0,0 +1,401 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablecelleditor.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.emf.expressions.booleanexpressions.IBooleanEObjectExpression;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.GenericRelationshipMatrixCellEditorConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.MatrixRelationShipDirection;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.MatrixRelationShipOwnerStrategy;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.NattablecelleditorPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.IWrapper;
+import org.eclipse.papyrus.infra.types.ElementTypeConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generic Relationship Matrix Cell Editor Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.GenericRelationshipMatrixCellEditorConfigurationImpl#getCellEditorId <em>Cell Editor Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.GenericRelationshipMatrixCellEditorConfigurationImpl#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.GenericRelationshipMatrixCellEditorConfigurationImpl#getCellContentsFilter <em>Cell Contents Filter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.GenericRelationshipMatrixCellEditorConfigurationImpl#getEditedElement <em>Edited Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.GenericRelationshipMatrixCellEditorConfigurationImpl#getRelationshipOwnerStrategy <em>Relationship Owner Strategy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.GenericRelationshipMatrixCellEditorConfigurationImpl#getRelationshipOwner <em>Relationship Owner</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl.GenericRelationshipMatrixCellEditorConfigurationImpl#getRelationshipOwnerFeature <em>Relationship Owner Feature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GenericRelationshipMatrixCellEditorConfigurationImpl extends StyledElementImpl implements GenericRelationshipMatrixCellEditorConfiguration {
+ /**
+ * The default value of the '{@link #getCellEditorId() <em>Cell Editor Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCellEditorId()
+ * @generated
+ * @ordered
+ */
+ protected static final String CELL_EDITOR_ID_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final MatrixRelationShipDirection DIRECTION_EDEFAULT = MatrixRelationShipDirection.FROM_ROW_TO_COLUMN;
+
+ /**
+ * The default value of the '{@link #getRelationshipOwnerStrategy() <em>Relationship Owner Strategy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelationshipOwnerStrategy()
+ * @generated
+ * @ordered
+ */
+ protected static final MatrixRelationShipOwnerStrategy RELATIONSHIP_OWNER_STRATEGY_EDEFAULT = MatrixRelationShipOwnerStrategy.DEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenericRelationshipMatrixCellEditorConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCellEditorId() {
+ return (String)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.ICELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCellEditorId(String newCellEditorId) {
+ eDynamicSet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.ICELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID, newCellEditorId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MatrixRelationShipDirection getDirection() {
+ return (MatrixRelationShipDirection)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDirection(MatrixRelationShipDirection newDirection) {
+ eDynamicSet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION, newDirection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IBooleanEObjectExpression getCellContentsFilter() {
+ return (IBooleanEObjectExpression)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCellContentsFilter(IBooleanEObjectExpression newCellContentsFilter, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newCellContentsFilter, NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCellContentsFilter(IBooleanEObjectExpression newCellContentsFilter) {
+ eDynamicSet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER, newCellContentsFilter);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementTypeConfiguration getEditedElement() {
+ return (ElementTypeConfiguration)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementTypeConfiguration basicGetEditedElement() {
+ return (ElementTypeConfiguration)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEditedElement(ElementTypeConfiguration newEditedElement) {
+ eDynamicSet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT, newEditedElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MatrixRelationShipOwnerStrategy getRelationshipOwnerStrategy() {
+ return (MatrixRelationShipOwnerStrategy)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRelationshipOwnerStrategy(MatrixRelationShipOwnerStrategy newRelationshipOwnerStrategy) {
+ eDynamicSet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY, newRelationshipOwnerStrategy);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IWrapper getRelationshipOwner() {
+ return (IWrapper)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRelationshipOwner(IWrapper newRelationshipOwner, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newRelationshipOwner, NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRelationshipOwner(IWrapper newRelationshipOwner) {
+ eDynamicSet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER, newRelationshipOwner);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IAxis getRelationshipOwnerFeature() {
+ return (IAxis)eDynamicGet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRelationshipOwnerFeature(IAxis newRelationshipOwnerFeature, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newRelationshipOwnerFeature, NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRelationshipOwnerFeature(IAxis newRelationshipOwnerFeature) {
+ eDynamicSet(NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE - ESTATIC_FEATURE_COUNT, NattablecelleditorPackage.Literals.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE, newRelationshipOwnerFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER:
+ return basicSetCellContentsFilter(null, msgs);
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER:
+ return basicSetRelationshipOwner(null, msgs);
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE:
+ return basicSetRelationshipOwnerFeature(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 NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID:
+ return getCellEditorId();
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION:
+ return getDirection();
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER:
+ return getCellContentsFilter();
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT:
+ if (resolve) return getEditedElement();
+ return basicGetEditedElement();
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY:
+ return getRelationshipOwnerStrategy();
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER:
+ return getRelationshipOwner();
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE:
+ return getRelationshipOwnerFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID:
+ setCellEditorId((String)newValue);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION:
+ setDirection((MatrixRelationShipDirection)newValue);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER:
+ setCellContentsFilter((IBooleanEObjectExpression)newValue);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT:
+ setEditedElement((ElementTypeConfiguration)newValue);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY:
+ setRelationshipOwnerStrategy((MatrixRelationShipOwnerStrategy)newValue);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER:
+ setRelationshipOwner((IWrapper)newValue);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE:
+ setRelationshipOwnerFeature((IAxis)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID:
+ setCellEditorId(CELL_EDITOR_ID_EDEFAULT);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION:
+ setDirection(DIRECTION_EDEFAULT);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER:
+ setCellContentsFilter((IBooleanEObjectExpression)null);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT:
+ setEditedElement((ElementTypeConfiguration)null);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY:
+ setRelationshipOwnerStrategy(RELATIONSHIP_OWNER_STRATEGY_EDEFAULT);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER:
+ setRelationshipOwner((IWrapper)null);
+ return;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE:
+ setRelationshipOwnerFeature((IAxis)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_EDITOR_ID:
+ return CELL_EDITOR_ID_EDEFAULT == null ? getCellEditorId() != null : !CELL_EDITOR_ID_EDEFAULT.equals(getCellEditorId());
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__DIRECTION:
+ return getDirection() != DIRECTION_EDEFAULT;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__CELL_CONTENTS_FILTER:
+ return getCellContentsFilter() != null;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__EDITED_ELEMENT:
+ return basicGetEditedElement() != null;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_STRATEGY:
+ return getRelationshipOwnerStrategy() != RELATIONSHIP_OWNER_STRATEGY_EDEFAULT;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER:
+ return getRelationshipOwner() != null;
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION__RELATIONSHIP_OWNER_FEATURE:
+ return getRelationshipOwnerFeature() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //GenericRelationshipMatrixCellEditorConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecelleditor/impl/NattablecelleditorFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecelleditor/impl/NattablecelleditorFactoryImpl.java
new file mode 100644
index 0000000..862c663
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablecelleditor/impl/NattablecelleditorFactoryImpl.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablecelleditor.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.GenericRelationshipMatrixCellEditorConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.MatrixRelationShipDirection;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.MatrixRelationShipOwnerStrategy;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.NattablecelleditorFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.NattablecelleditorPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattablecelleditorFactoryImpl extends EFactoryImpl implements NattablecelleditorFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattablecelleditorFactory init() {
+ try {
+ NattablecelleditorFactory theNattablecelleditorFactory = (NattablecelleditorFactory)EPackage.Registry.INSTANCE.getEFactory(NattablecelleditorPackage.eNS_URI);
+ if (theNattablecelleditorFactory != null) {
+ return theNattablecelleditorFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattablecelleditorFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattablecelleditorFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattablecelleditorPackage.GENERIC_RELATIONSHIP_MATRIX_CELL_EDITOR_CONFIGURATION: return createGenericRelationshipMatrixCellEditorConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattablecelleditorPackage.MATRIX_RELATION_SHIP_DIRECTION:
+ return createMatrixRelationShipDirectionFromString(eDataType, initialValue);
+ case NattablecelleditorPackage.MATRIX_RELATION_SHIP_OWNER_STRATEGY:
+ return createMatrixRelationShipOwnerStrategyFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattablecelleditorPackage.MATRIX_RELATION_SHIP_DIRECTION:
+ return convertMatrixRelationShipDirectionToString(eDataType, instanceValue);
+ case NattablecelleditorPackage.MATRIX_RELATION_SHIP_OWNER_STRATEGY:
+ return convertMatrixRelationShipOwnerStrategyToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericRelationshipMatrixCellEditorConfiguration createGenericRelationshipMatrixCellEditorConfiguration() {
+ GenericRelationshipMatrixCellEditorConfigurationImpl genericRelationshipMatrixCellEditorConfiguration = new GenericRelationshipMatrixCellEditorConfigurationImpl();
+ return genericRelationshipMatrixCellEditorConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MatrixRelationShipDirection createMatrixRelationShipDirectionFromString(EDataType eDataType, String initialValue) {
+ MatrixRelationShipDirection result = MatrixRelationShipDirection.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMatrixRelationShipDirectionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MatrixRelationShipOwnerStrategy createMatrixRelationShipOwnerStrategyFromString(EDataType eDataType, String initialValue) {
+ MatrixRelationShipOwnerStrategy result = MatrixRelationShipOwnerStrategy.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMatrixRelationShipOwnerStrategyToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattablecelleditorPackage getNattablecelleditorPackage() {
+ return (NattablecelleditorPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattablecelleditorPackage getPackage() {
+ return NattablecelleditorPackage.eINSTANCE;
+ }
+
+} //NattablecelleditorFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/NattableconfigurationFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/NattableconfigurationFactoryImpl.java
new file mode 100644
index 0000000..2ec4e4e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/NattableconfigurationFactoryImpl.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.CellEditorDeclaration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.NattableconfigurationFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.NattableconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.TableConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattableconfigurationFactoryImpl extends EFactoryImpl implements NattableconfigurationFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattableconfigurationFactory init() {
+ try {
+ NattableconfigurationFactory theNattableconfigurationFactory = (NattableconfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(NattableconfigurationPackage.eNS_URI);
+ if (theNattableconfigurationFactory != null) {
+ return theNattableconfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattableconfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattableconfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattableconfigurationPackage.TABLE_CONFIGURATION: return createTableConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattableconfigurationPackage.CELL_EDITOR_DECLARATION:
+ return createCellEditorDeclarationFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattableconfigurationPackage.CELL_EDITOR_DECLARATION:
+ return convertCellEditorDeclarationToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public TableConfiguration createTableConfiguration() {
+ TableConfigurationImpl tableConfiguration = new TableConfigurationImpl();
+ return tableConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CellEditorDeclaration createCellEditorDeclarationFromString(EDataType eDataType, String initialValue) {
+ CellEditorDeclaration result = CellEditorDeclaration.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCellEditorDeclarationToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattableconfigurationPackage getNattableconfigurationPackage() {
+ return (NattableconfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattableconfigurationPackage getPackage() {
+ return NattableconfigurationPackage.eINSTANCE;
+ }
+} // NattableconfigurationFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/TableConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/TableConfigurationImpl.java
new file mode 100644
index 0000000..bfd2dff
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/TableConfigurationImpl.java
@@ -0,0 +1,550 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableconfiguration.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TableHeaderAxisConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.AbstractAxisProvider;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecelleditor.ICellEditorConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.CellEditorDeclaration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.NattableconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.TableConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.AbstractTableTester;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getIconPath <em>Icon Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getCreationTester <em>Creation Tester</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getCellEditorDeclaration <em>Cell Editor Declaration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getRowHeaderAxisConfiguration <em>Row Header Axis Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getColumnHeaderAxisConfiguration <em>Column Header Axis Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getColumnAxisProviders <em>Column Axis Providers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getRowAxisProviders <em>Row Axis Providers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getDefaultRowAxisProvider <em>Default Row Axis Provider</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getDefaultColumnAxisProvider <em>Default Column Axis Provider</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableConfigurationImpl#getOwnedCellEditorConfigurations <em>Owned Cell Editor Configurations</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TableConfigurationImpl extends TableNamedElementImpl implements TableConfiguration {
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getIconPath() <em>Icon Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIconPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String ICON_PATH_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getCellEditorDeclaration() <em>Cell Editor Declaration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCellEditorDeclaration()
+ * @generated
+ * @ordered
+ */
+ protected static final CellEditorDeclaration CELL_EDITOR_DECLARATION_EDEFAULT = CellEditorDeclaration.COLUMN;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableconfigurationPackage.Literals.TABLE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getType() {
+ return (String)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__TYPE - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setType(String newType) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__TYPE - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__TYPE, newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getIconPath() {
+ return (String)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__ICON_PATH - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__ICON_PATH, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIconPath(String newIconPath) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__ICON_PATH - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__ICON_PATH, newIconPath);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AbstractTableTester getCreationTester() {
+ return (AbstractTableTester)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__CREATION_TESTER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCreationTester(AbstractTableTester newCreationTester, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newCreationTester, NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setCreationTester(AbstractTableTester newCreationTester) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__CREATION_TESTER, newCreationTester);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public CellEditorDeclaration getCellEditorDeclaration() {
+ return (CellEditorDeclaration)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setCellEditorDeclaration(CellEditorDeclaration newCellEditorDeclaration) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION, newCellEditorDeclaration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public TableHeaderAxisConfiguration getRowHeaderAxisConfiguration() {
+ return (TableHeaderAxisConfiguration)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRowHeaderAxisConfiguration(TableHeaderAxisConfiguration newRowHeaderAxisConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newRowHeaderAxisConfiguration, NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setRowHeaderAxisConfiguration(TableHeaderAxisConfiguration newRowHeaderAxisConfiguration) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION, newRowHeaderAxisConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public TableHeaderAxisConfiguration getColumnHeaderAxisConfiguration() {
+ return (TableHeaderAxisConfiguration)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumnHeaderAxisConfiguration(TableHeaderAxisConfiguration newColumnHeaderAxisConfiguration, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newColumnHeaderAxisConfiguration, NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setColumnHeaderAxisConfiguration(TableHeaderAxisConfiguration newColumnHeaderAxisConfiguration) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION, newColumnHeaderAxisConfiguration);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<AbstractAxisProvider> getColumnAxisProviders() {
+ return (EList<AbstractAxisProvider>)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_AXIS_PROVIDERS - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__COLUMN_AXIS_PROVIDERS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<AbstractAxisProvider> getRowAxisProviders() {
+ return (EList<AbstractAxisProvider>)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_AXIS_PROVIDERS - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__ROW_AXIS_PROVIDERS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AbstractAxisProvider getDefaultRowAxisProvider() {
+ return (AbstractAxisProvider)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractAxisProvider basicGetDefaultRowAxisProvider() {
+ return (AbstractAxisProvider)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDefaultRowAxisProvider(AbstractAxisProvider newDefaultRowAxisProvider) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER, newDefaultRowAxisProvider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AbstractAxisProvider getDefaultColumnAxisProvider() {
+ return (AbstractAxisProvider)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractAxisProvider basicGetDefaultColumnAxisProvider() {
+ return (AbstractAxisProvider)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDefaultColumnAxisProvider(AbstractAxisProvider newDefaultColumnAxisProvider) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER, newDefaultColumnAxisProvider);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ICellEditorConfiguration getOwnedCellEditorConfigurations() {
+ return (ICellEditorConfiguration)eDynamicGet(NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwnedCellEditorConfigurations(ICellEditorConfiguration newOwnedCellEditorConfigurations, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject)newOwnedCellEditorConfigurations, NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnedCellEditorConfigurations(ICellEditorConfiguration newOwnedCellEditorConfigurations) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS, newOwnedCellEditorConfigurations);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER:
+ return basicSetCreationTester(null, msgs);
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION:
+ return basicSetRowHeaderAxisConfiguration(null, msgs);
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION:
+ return basicSetColumnHeaderAxisConfiguration(null, msgs);
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_AXIS_PROVIDERS:
+ return ((InternalEList<?>)getColumnAxisProviders()).basicRemove(otherEnd, msgs);
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_AXIS_PROVIDERS:
+ return ((InternalEList<?>)getRowAxisProviders()).basicRemove(otherEnd, msgs);
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ return basicSetOwnedCellEditorConfigurations(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 NattableconfigurationPackage.TABLE_CONFIGURATION__TYPE:
+ return getType();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ICON_PATH:
+ return getIconPath();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER:
+ return getCreationTester();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION:
+ return getCellEditorDeclaration();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION:
+ return getRowHeaderAxisConfiguration();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION:
+ return getColumnHeaderAxisConfiguration();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_AXIS_PROVIDERS:
+ return getColumnAxisProviders();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_AXIS_PROVIDERS:
+ return getRowAxisProviders();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER:
+ if (resolve) return getDefaultRowAxisProvider();
+ return basicGetDefaultRowAxisProvider();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER:
+ if (resolve) return getDefaultColumnAxisProvider();
+ return basicGetDefaultColumnAxisProvider();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ return getOwnedCellEditorConfigurations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__TYPE:
+ setType((String)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ICON_PATH:
+ setIconPath((String)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER:
+ setCreationTester((AbstractTableTester)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION:
+ setCellEditorDeclaration((CellEditorDeclaration)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION:
+ setRowHeaderAxisConfiguration((TableHeaderAxisConfiguration)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION:
+ setColumnHeaderAxisConfiguration((TableHeaderAxisConfiguration)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_AXIS_PROVIDERS:
+ getColumnAxisProviders().clear();
+ getColumnAxisProviders().addAll((Collection<? extends AbstractAxisProvider>)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_AXIS_PROVIDERS:
+ getRowAxisProviders().clear();
+ getRowAxisProviders().addAll((Collection<? extends AbstractAxisProvider>)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER:
+ setDefaultRowAxisProvider((AbstractAxisProvider)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER:
+ setDefaultColumnAxisProvider((AbstractAxisProvider)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ setOwnedCellEditorConfigurations((ICellEditorConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ICON_PATH:
+ setIconPath(ICON_PATH_EDEFAULT);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER:
+ setCreationTester((AbstractTableTester)null);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION:
+ setCellEditorDeclaration(CELL_EDITOR_DECLARATION_EDEFAULT);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION:
+ setRowHeaderAxisConfiguration((TableHeaderAxisConfiguration)null);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION:
+ setColumnHeaderAxisConfiguration((TableHeaderAxisConfiguration)null);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_AXIS_PROVIDERS:
+ getColumnAxisProviders().clear();
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_AXIS_PROVIDERS:
+ getRowAxisProviders().clear();
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER:
+ setDefaultRowAxisProvider((AbstractAxisProvider)null);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER:
+ setDefaultColumnAxisProvider((AbstractAxisProvider)null);
+ return;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ setOwnedCellEditorConfigurations((ICellEditorConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__TYPE:
+ return TYPE_EDEFAULT == null ? getType() != null : !TYPE_EDEFAULT.equals(getType());
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ICON_PATH:
+ return ICON_PATH_EDEFAULT == null ? getIconPath() != null : !ICON_PATH_EDEFAULT.equals(getIconPath());
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CREATION_TESTER:
+ return getCreationTester() != null;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__CELL_EDITOR_DECLARATION:
+ return getCellEditorDeclaration() != CELL_EDITOR_DECLARATION_EDEFAULT;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_HEADER_AXIS_CONFIGURATION:
+ return getRowHeaderAxisConfiguration() != null;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_HEADER_AXIS_CONFIGURATION:
+ return getColumnHeaderAxisConfiguration() != null;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__COLUMN_AXIS_PROVIDERS:
+ return !getColumnAxisProviders().isEmpty();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__ROW_AXIS_PROVIDERS:
+ return !getRowAxisProviders().isEmpty();
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_ROW_AXIS_PROVIDER:
+ return basicGetDefaultRowAxisProvider() != null;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__DEFAULT_COLUMN_AXIS_PROVIDER:
+ return basicGetDefaultColumnAxisProvider() != null;
+ case NattableconfigurationPackage.TABLE_CONFIGURATION__OWNED_CELL_EDITOR_CONFIGURATIONS:
+ return getOwnedCellEditorConfigurations() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // TableConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/TableNamedElementImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/TableNamedElementImpl.java
new file mode 100644
index 0000000..cbc4919
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableconfiguration/impl/TableNamedElementImpl.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableconfiguration.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.NattableconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.TableNamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table Named Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableNamedElementImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableNamedElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class TableNamedElementImpl extends StyledElementImpl implements TableNamedElement {
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableNamedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableconfigurationPackage.Literals.TABLE_NAMED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getDescription() {
+ return (String)eDynamicGet(NattableconfigurationPackage.TABLE_NAMED_ELEMENT__DESCRIPTION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_NAMED_ELEMENT__DESCRIPTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDescription(String newDescription) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_NAMED_ELEMENT__DESCRIPTION - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_NAMED_ELEMENT__DESCRIPTION, newDescription);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return (String)eDynamicGet(NattableconfigurationPackage.TABLE_NAMED_ELEMENT__NAME - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_NAMED_ELEMENT__NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ eDynamicSet(NattableconfigurationPackage.TABLE_NAMED_ELEMENT__NAME - ESTATIC_FEATURE_COUNT, NattableconfigurationPackage.Literals.TABLE_NAMED_ELEMENT__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__DESCRIPTION:
+ return getDescription();
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? getDescription() != null : !DESCRIPTION_EDEFAULT.equals(getDescription());
+ case NattableconfigurationPackage.TABLE_NAMED_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ }
+ return super.eIsSet(featureID);
+ }
+} // TableNamedElementImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/FeatureLabelProviderConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/FeatureLabelProviderConfigurationImpl.java
new file mode 100644
index 0000000..09f0b8d
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/FeatureLabelProviderConfigurationImpl.java
@@ -0,0 +1,265 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.FeatureLabelProviderConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.NattablelabelproviderPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Label Provider Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.FeatureLabelProviderConfigurationImpl#isDisplayIsDerived <em>Display Is Derived</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.FeatureLabelProviderConfigurationImpl#isDisplayType <em>Display Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.FeatureLabelProviderConfigurationImpl#isDisplayMultiplicity <em>Display Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.FeatureLabelProviderConfigurationImpl#isDisplayName <em>Display Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureLabelProviderConfigurationImpl extends ObjectLabelProviderConfigurationImpl implements FeatureLabelProviderConfiguration {
+
+ /**
+ * The default value of the '{@link #isDisplayIsDerived() <em>Display Is Derived</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayIsDerived()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_IS_DERIVED_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isDisplayType() <em>Display Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayType()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_TYPE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isDisplayMultiplicity() <em>Display Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayMultiplicity()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_MULTIPLICITY_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isDisplayName() <em>Display Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayName()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_NAME_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureLabelProviderConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayIsDerived() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayIsDerived(boolean newDisplayIsDerived) {
+ eDynamicSet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED, newDisplayIsDerived);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayType() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayType(boolean newDisplayType) {
+ eDynamicSet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE, newDisplayType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayMultiplicity() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayMultiplicity(boolean newDisplayMultiplicity) {
+ eDynamicSet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY, newDisplayMultiplicity);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayName() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayName(boolean newDisplayName) {
+ eDynamicSet(NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME, newDisplayName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED:
+ return isDisplayIsDerived();
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ return isDisplayType();
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ return isDisplayMultiplicity();
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ return isDisplayName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED:
+ setDisplayIsDerived((Boolean)newValue);
+ return;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ setDisplayType((Boolean)newValue);
+ return;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ setDisplayMultiplicity((Boolean)newValue);
+ return;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ setDisplayName((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED:
+ setDisplayIsDerived(DISPLAY_IS_DERIVED_EDEFAULT);
+ return;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ setDisplayType(DISPLAY_TYPE_EDEFAULT);
+ return;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ setDisplayMultiplicity(DISPLAY_MULTIPLICITY_EDEFAULT);
+ return;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ setDisplayName(DISPLAY_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_IS_DERIVED:
+ return isDisplayIsDerived() != DISPLAY_IS_DERIVED_EDEFAULT;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ return isDisplayType() != DISPLAY_TYPE_EDEFAULT;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ return isDisplayMultiplicity() != DISPLAY_MULTIPLICITY_EDEFAULT;
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ return isDisplayName() != DISPLAY_NAME_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // FeatureLabelProviderConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/NattablelabelproviderFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/NattablelabelproviderFactoryImpl.java
new file mode 100644
index 0000000..4abe8ed
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/NattablelabelproviderFactoryImpl.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.FeatureLabelProviderConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.NattablelabelproviderFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.NattablelabelproviderPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ObjectLabelProviderConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.OperationLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattablelabelproviderFactoryImpl extends EFactoryImpl implements NattablelabelproviderFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattablelabelproviderFactory init() {
+ try {
+ NattablelabelproviderFactory theNattablelabelproviderFactory = (NattablelabelproviderFactory)EPackage.Registry.INSTANCE.getEFactory(NattablelabelproviderPackage.eNS_URI);
+ if (theNattablelabelproviderFactory != null) {
+ return theNattablelabelproviderFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattablelabelproviderFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattablelabelproviderFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattablelabelproviderPackage.FEATURE_LABEL_PROVIDER_CONFIGURATION: return createFeatureLabelProviderConfiguration();
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION: return createObjectLabelProviderConfiguration();
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION: return createOperationLabelProviderConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FeatureLabelProviderConfiguration createFeatureLabelProviderConfiguration() {
+ FeatureLabelProviderConfigurationImpl featureLabelProviderConfiguration = new FeatureLabelProviderConfigurationImpl();
+ return featureLabelProviderConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectLabelProviderConfiguration createObjectLabelProviderConfiguration() {
+ ObjectLabelProviderConfigurationImpl objectLabelProviderConfiguration = new ObjectLabelProviderConfigurationImpl();
+ return objectLabelProviderConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationLabelProviderConfiguration createOperationLabelProviderConfiguration() {
+ OperationLabelProviderConfigurationImpl operationLabelProviderConfiguration = new OperationLabelProviderConfigurationImpl();
+ return operationLabelProviderConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattablelabelproviderPackage getNattablelabelproviderPackage() {
+ return (NattablelabelproviderPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattablelabelproviderPackage getPackage() {
+ return NattablelabelproviderPackage.eINSTANCE;
+ }
+} // NattablelabelproviderFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/ObjectLabelProviderConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/ObjectLabelProviderConfigurationImpl.java
new file mode 100644
index 0000000..9c5b1f1
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/ObjectLabelProviderConfigurationImpl.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.NattablelabelproviderPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ObjectLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Object Label Provider Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.ObjectLabelProviderConfigurationImpl#isDisplayIcon <em>Display Icon</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.ObjectLabelProviderConfigurationImpl#isDisplayLabel <em>Display Label</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ObjectLabelProviderConfigurationImpl extends StyledElementImpl implements ObjectLabelProviderConfiguration {
+
+ /**
+ * The default value of the '{@link #isDisplayIcon() <em>Display Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_ICON_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isDisplayLabel() <em>Display Label</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayLabel()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_LABEL_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObjectLabelProviderConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablelabelproviderPackage.Literals.OBJECT_LABEL_PROVIDER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayIcon() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayIcon(boolean newDisplayIcon) {
+ eDynamicSet(NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON, newDisplayIcon);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDisplayLabel() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDisplayLabel(boolean newDisplayLabel) {
+ eDynamicSet(NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL, newDisplayLabel);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON:
+ return isDisplayIcon();
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL:
+ return isDisplayLabel();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON:
+ setDisplayIcon((Boolean)newValue);
+ return;
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL:
+ setDisplayLabel((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON:
+ setDisplayIcon(DISPLAY_ICON_EDEFAULT);
+ return;
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL:
+ setDisplayLabel(DISPLAY_LABEL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_ICON:
+ return isDisplayIcon() != DISPLAY_ICON_EDEFAULT;
+ case NattablelabelproviderPackage.OBJECT_LABEL_PROVIDER_CONFIGURATION__DISPLAY_LABEL:
+ return isDisplayLabel() != DISPLAY_LABEL_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // ObjectLabelProviderConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/OperationLabelProviderConfigurationImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/OperationLabelProviderConfigurationImpl.java
new file mode 100644
index 0000000..0464834
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablelabelprovider/impl/OperationLabelProviderConfigurationImpl.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.NattablelabelproviderPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.OperationLabelProviderConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Label Provider Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.OperationLabelProviderConfigurationImpl#isDisplayType <em>Display Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.OperationLabelProviderConfigurationImpl#isDisplayMultiplicity <em>Display Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl.OperationLabelProviderConfigurationImpl#isDisplayName <em>Display Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationLabelProviderConfigurationImpl extends ObjectLabelProviderConfigurationImpl implements OperationLabelProviderConfiguration {
+ /**
+ * The default value of the '{@link #isDisplayType() <em>Display Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayType()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_TYPE_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isDisplayMultiplicity() <em>Display Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayMultiplicity()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_MULTIPLICITY_EDEFAULT = true;
+
+ /**
+ * The default value of the '{@link #isDisplayName() <em>Display Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDisplayName()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DISPLAY_NAME_EDEFAULT = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationLabelProviderConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablelabelproviderPackage.Literals.OPERATION_LABEL_PROVIDER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDisplayType() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisplayType(boolean newDisplayType) {
+ eDynamicSet(NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE, newDisplayType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDisplayMultiplicity() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisplayMultiplicity(boolean newDisplayMultiplicity) {
+ eDynamicSet(NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY, newDisplayMultiplicity);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDisplayName() {
+ return (Boolean)eDynamicGet(NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDisplayName(boolean newDisplayName) {
+ eDynamicSet(NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME - ESTATIC_FEATURE_COUNT, NattablelabelproviderPackage.Literals.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME, newDisplayName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ return isDisplayType();
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ return isDisplayMultiplicity();
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ return isDisplayName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ setDisplayType((Boolean)newValue);
+ return;
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ setDisplayMultiplicity((Boolean)newValue);
+ return;
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ setDisplayName((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ setDisplayType(DISPLAY_TYPE_EDEFAULT);
+ return;
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ setDisplayMultiplicity(DISPLAY_MULTIPLICITY_EDEFAULT);
+ return;
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ setDisplayName(DISPLAY_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_TYPE:
+ return isDisplayType() != DISPLAY_TYPE_EDEFAULT;
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_MULTIPLICITY:
+ return isDisplayMultiplicity() != DISPLAY_MULTIPLICITY_EDEFAULT;
+ case NattablelabelproviderPackage.OPERATION_LABEL_PROVIDER_CONFIGURATION__DISPLAY_NAME:
+ return isDisplayName() != DISPLAY_NAME_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OperationLabelProviderConfigurationImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/NattableproblemFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/NattableproblemFactoryImpl.java
new file mode 100644
index 0000000..20938b4
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/NattableproblemFactoryImpl.java
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableproblem.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.NattableproblemFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.NattableproblemPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.Problem;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.StringResolutionProblem;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattableproblemFactoryImpl extends EFactoryImpl implements NattableproblemFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattableproblemFactory init() {
+ try {
+ NattableproblemFactory theNattableproblemFactory = (NattableproblemFactory)EPackage.Registry.INSTANCE.getEFactory(NattableproblemPackage.eNS_URI);
+ if (theNattableproblemFactory != null) {
+ return theNattableproblemFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattableproblemFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattableproblemFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattableproblemPackage.PROBLEM: return createProblem();
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM: return createStringResolutionProblem();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Problem createProblem() {
+ ProblemImpl problem = new ProblemImpl();
+ return problem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public StringResolutionProblem createStringResolutionProblem() {
+ StringResolutionProblemImpl stringResolutionProblem = new StringResolutionProblemImpl();
+ return stringResolutionProblem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattableproblemPackage getNattableproblemPackage() {
+ return (NattableproblemPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattableproblemPackage getPackage() {
+ return NattableproblemPackage.eINSTANCE;
+ }
+} // NattableproblemFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/ProblemImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/ProblemImpl.java
new file mode 100644
index 0000000..93d34cf
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/ProblemImpl.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableproblem.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl.TableNamedElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.NattableproblemPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.Problem;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Problem</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ProblemImpl extends TableNamedElementImpl implements Problem {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProblemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableproblemPackage.Literals.PROBLEM;
+ }
+} // ProblemImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/StringResolutionProblemImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/StringResolutionProblemImpl.java
new file mode 100644
index 0000000..be20fd0
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattableproblem/impl/StringResolutionProblemImpl.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattableproblem.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.NattableproblemPackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.StringResolutionProblem;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Resolution Problem</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableproblem.impl.StringResolutionProblemImpl#getValueAsString <em>Value As String</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableproblem.impl.StringResolutionProblemImpl#getUnresolvedString <em>Unresolved String</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StringResolutionProblemImpl extends ProblemImpl implements StringResolutionProblem {
+
+ /**
+ * The default value of the '{@link #getValueAsString() <em>Value As String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueAsString()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_AS_STRING_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringResolutionProblemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattableproblemPackage.Literals.STRING_RESOLUTION_PROBLEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getValueAsString() {
+ return (String)eDynamicGet(NattableproblemPackage.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING - ESTATIC_FEATURE_COUNT, NattableproblemPackage.Literals.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setValueAsString(String newValueAsString) {
+ eDynamicSet(NattableproblemPackage.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING - ESTATIC_FEATURE_COUNT, NattableproblemPackage.Literals.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING, newValueAsString);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<String> getUnresolvedString() {
+ return (EList<String>)eDynamicGet(NattableproblemPackage.STRING_RESOLUTION_PROBLEM__UNRESOLVED_STRING - ESTATIC_FEATURE_COUNT, NattableproblemPackage.Literals.STRING_RESOLUTION_PROBLEM__UNRESOLVED_STRING, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING:
+ return getValueAsString();
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__UNRESOLVED_STRING:
+ return getUnresolvedString();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING:
+ setValueAsString((String)newValue);
+ return;
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__UNRESOLVED_STRING:
+ getUnresolvedString().clear();
+ getUnresolvedString().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING:
+ setValueAsString(VALUE_AS_STRING_EDEFAULT);
+ return;
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__UNRESOLVED_STRING:
+ getUnresolvedString().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__VALUE_AS_STRING:
+ return VALUE_AS_STRING_EDEFAULT == null ? getValueAsString() != null : !VALUE_AS_STRING_EDEFAULT.equals(getValueAsString());
+ case NattableproblemPackage.STRING_RESOLUTION_PROBLEM__UNRESOLVED_STRING:
+ return !getUnresolvedString().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // StringResolutionProblemImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/BooleanListValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/BooleanListValueStyleImpl.java
new file mode 100644
index 0000000..9fef36a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/BooleanListValueStyleImpl.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.BooleanListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.BooleanListValueStyleImpl#getBooleanListValue <em>Boolean List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BooleanListValueStyleImpl extends NamedStyleImpl implements BooleanListValueStyle {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BooleanListValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.BOOLEAN_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Boolean> getBooleanListValue() {
+ return (EList<Boolean>)eDynamicGet(NattablestylePackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ return getBooleanListValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ getBooleanListValue().clear();
+ getBooleanListValue().addAll((Collection<? extends Boolean>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ getBooleanListValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_LIST_VALUE_STYLE__BOOLEAN_LIST_VALUE:
+ return !getBooleanListValue().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // BooleanListValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/BooleanValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/BooleanValueStyleImpl.java
new file mode 100644
index 0000000..99ae7db
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/BooleanValueStyleImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.BooleanValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.BooleanValueStyleImpl#isBooleanValue <em>Boolean Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BooleanValueStyleImpl extends NamedStyleImpl implements BooleanValueStyle {
+
+ /**
+ * The default value of the '{@link #isBooleanValue() <em>Boolean Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isBooleanValue()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean BOOLEAN_VALUE_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BooleanValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.BOOLEAN_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isBooleanValue() {
+ return (Boolean)eDynamicGet(NattablestylePackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBooleanValue(boolean newBooleanValue) {
+ eDynamicSet(NattablestylePackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE, newBooleanValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ return isBooleanValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ setBooleanValue((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ setBooleanValue(BOOLEAN_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.BOOLEAN_VALUE_STYLE__BOOLEAN_VALUE:
+ return isBooleanValue() != BOOLEAN_VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // BooleanValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/CellTextStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/CellTextStyleImpl.java
new file mode 100644
index 0000000..70890fe
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/CellTextStyleImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.CellTextAlignment;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.CellTextStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cell Text Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.CellTextStyleImpl#getAlignment <em>Alignment</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public class CellTextStyleImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements CellTextStyle {
+
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final CellTextAlignment ALIGNMENT_EDEFAULT = CellTextAlignment.MIDDLE_LEFT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CellTextStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.CELL_TEXT_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CellTextAlignment getAlignment() {
+ return (CellTextAlignment) eDynamicGet(NattablestylePackage.CELL_TEXT_STYLE__ALIGNMENT - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.CELL_TEXT_STYLE__ALIGNMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setAlignment(CellTextAlignment newAlignment) {
+ eDynamicSet(NattablestylePackage.CELL_TEXT_STYLE__ALIGNMENT - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.CELL_TEXT_STYLE__ALIGNMENT, newAlignment);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.CELL_TEXT_STYLE__ALIGNMENT:
+ return getAlignment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.CELL_TEXT_STYLE__ALIGNMENT:
+ setAlignment((CellTextAlignment) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.CELL_TEXT_STYLE__ALIGNMENT:
+ setAlignment(ALIGNMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.CELL_TEXT_STYLE__ALIGNMENT:
+ return getAlignment() != ALIGNMENT_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // CellTextStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/DoubleListValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/DoubleListValueStyleImpl.java
new file mode 100644
index 0000000..c6bb565
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/DoubleListValueStyleImpl.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.DoubleListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Double List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.DoubleListValueStyleImpl#getDoubleListValue <em>Double List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoubleListValueStyleImpl extends NamedStyleImpl implements DoubleListValueStyle {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DoubleListValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.DOUBLE_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Double> getDoubleListValue() {
+ return (EList<Double>)eDynamicGet(NattablestylePackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ return getDoubleListValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ getDoubleListValue().clear();
+ getDoubleListValue().addAll((Collection<? extends Double>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ getDoubleListValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_LIST_VALUE_STYLE__DOUBLE_LIST_VALUE:
+ return !getDoubleListValue().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // DoubleListValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/DoubleValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/DoubleValueStyleImpl.java
new file mode 100644
index 0000000..d1afc73
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/DoubleValueStyleImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.DoubleValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Double Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.DoubleValueStyleImpl#getDoubleValue <em>Double Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoubleValueStyleImpl extends NamedStyleImpl implements DoubleValueStyle {
+
+ /**
+ * The default value of the '{@link #getDoubleValue() <em>Double Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDoubleValue()
+ * @generated
+ * @ordered
+ */
+ protected static final double DOUBLE_VALUE_EDEFAULT = 0.0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DoubleValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.DOUBLE_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public double getDoubleValue() {
+ return (Double)eDynamicGet(NattablestylePackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.DOUBLE_VALUE_STYLE__DOUBLE_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDoubleValue(double newDoubleValue) {
+ eDynamicSet(NattablestylePackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.DOUBLE_VALUE_STYLE__DOUBLE_VALUE, newDoubleValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ return getDoubleValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ setDoubleValue((Double)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ setDoubleValue(DOUBLE_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.DOUBLE_VALUE_STYLE__DOUBLE_VALUE:
+ return getDoubleValue() != DOUBLE_VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // DoubleValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/EObjectListValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/EObjectListValueStyleImpl.java
new file mode 100644
index 0000000..52b4e40
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/EObjectListValueStyleImpl.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.EObjectListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.EObjectListValueStyleImpl#getEObjectValue <em>EObject Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectListValueStyleImpl extends NamedStyleImpl implements EObjectListValueStyle {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectListValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.EOBJECT_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<EObject> getEObjectValue() {
+ return (EList<EObject>)eDynamicGet(NattablestylePackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.EOBJECT_LIST_VALUE_STYLE__EOBJECT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_VALUE:
+ return getEObjectValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_VALUE:
+ getEObjectValue().clear();
+ getEObjectValue().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_VALUE:
+ getEObjectValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_LIST_VALUE_STYLE__EOBJECT_VALUE:
+ return !getEObjectValue().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // EObjectListValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/EObjectValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/EObjectValueStyleImpl.java
new file mode 100644
index 0000000..8338760
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/EObjectValueStyleImpl.java
@@ -0,0 +1,143 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.EObjectValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.EObjectValueStyleImpl#getEObjectValue <em>EObject Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectValueStyleImpl extends NamedStyleImpl implements EObjectValueStyle {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.EOBJECT_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject getEObjectValue() {
+ return (EObject)eDynamicGet(NattablestylePackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetEObjectValue() {
+ return (EObject)eDynamicGet(NattablestylePackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setEObjectValue(EObject newEObjectValue) {
+ eDynamicSet(NattablestylePackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.EOBJECT_VALUE_STYLE__EOBJECT_VALUE, newEObjectValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ if (resolve) return getEObjectValue();
+ return basicGetEObjectValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ setEObjectValue((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ setEObjectValue((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.EOBJECT_VALUE_STYLE__EOBJECT_VALUE:
+ return basicGetEObjectValue() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+} // EObjectValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/FontStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/FontStyleImpl.java
new file mode 100644
index 0000000..42c675a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/FontStyleImpl.java
@@ -0,0 +1,436 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.FontStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Font Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.FontStyleImpl#getFontColor <em>Font Color</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.FontStyleImpl#getFontName <em>Font Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.FontStyleImpl#getFontHeight <em>Font Height</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.FontStyleImpl#isBold <em>Bold</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.FontStyleImpl#isItalic <em>Italic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.FontStyleImpl#isUnderline <em>Underline</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.FontStyleImpl#isStrikeThrough <em>Strike Through</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public class FontStyleImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements FontStyle {
+
+ /**
+ * The default value of the '{@link #getFontColor() <em>Font Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontColor()
+ * @generated
+ * @ordered
+ */
+ protected static final int FONT_COLOR_EDEFAULT = 0;
+
+ /**
+ * The default value of the '{@link #getFontName() <em>Font Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FONT_NAME_EDEFAULT = "Tahoma"; //$NON-NLS-1$
+
+ /**
+ * The default value of the '{@link #getFontHeight() <em>Font Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final int FONT_HEIGHT_EDEFAULT = 9;
+
+ /**
+ * The default value of the '{@link #isBold() <em>Bold</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBold()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean BOLD_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isItalic() <em>Italic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isItalic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ITALIC_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isUnderline() <em>Underline</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUnderline()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNDERLINE_EDEFAULT = false;
+
+ /**
+ * The default value of the '{@link #isStrikeThrough() <em>Strike Through</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isStrikeThrough()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean STRIKE_THROUGH_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FontStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.FONT_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getFontColor() {
+ return (Integer) eDynamicGet(NattablestylePackage.FONT_STYLE__FONT_COLOR - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__FONT_COLOR, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFontColor(int newFontColor) {
+ eDynamicSet(NattablestylePackage.FONT_STYLE__FONT_COLOR - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__FONT_COLOR, newFontColor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getFontName() {
+ return (String) eDynamicGet(NattablestylePackage.FONT_STYLE__FONT_NAME - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__FONT_NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFontName(String newFontName) {
+ eDynamicSet(NattablestylePackage.FONT_STYLE__FONT_NAME - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__FONT_NAME, newFontName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getFontHeight() {
+ return (Integer) eDynamicGet(NattablestylePackage.FONT_STYLE__FONT_HEIGHT - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__FONT_HEIGHT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFontHeight(int newFontHeight) {
+ eDynamicSet(NattablestylePackage.FONT_STYLE__FONT_HEIGHT - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__FONT_HEIGHT, newFontHeight);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isBold() {
+ return (Boolean) eDynamicGet(NattablestylePackage.FONT_STYLE__BOLD - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__BOLD, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBold(boolean newBold) {
+ eDynamicSet(NattablestylePackage.FONT_STYLE__BOLD - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__BOLD, newBold);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isItalic() {
+ return (Boolean) eDynamicGet(NattablestylePackage.FONT_STYLE__ITALIC - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__ITALIC, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setItalic(boolean newItalic) {
+ eDynamicSet(NattablestylePackage.FONT_STYLE__ITALIC - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__ITALIC, newItalic);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isUnderline() {
+ return (Boolean) eDynamicGet(NattablestylePackage.FONT_STYLE__UNDERLINE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__UNDERLINE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setUnderline(boolean newUnderline) {
+ eDynamicSet(NattablestylePackage.FONT_STYLE__UNDERLINE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__UNDERLINE, newUnderline);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isStrikeThrough() {
+ return (Boolean) eDynamicGet(NattablestylePackage.FONT_STYLE__STRIKE_THROUGH - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__STRIKE_THROUGH, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStrikeThrough(boolean newStrikeThrough) {
+ eDynamicSet(NattablestylePackage.FONT_STYLE__STRIKE_THROUGH - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.FONT_STYLE__STRIKE_THROUGH, newStrikeThrough);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.FONT_STYLE__FONT_COLOR:
+ return getFontColor();
+ case NattablestylePackage.FONT_STYLE__FONT_NAME:
+ return getFontName();
+ case NattablestylePackage.FONT_STYLE__FONT_HEIGHT:
+ return getFontHeight();
+ case NattablestylePackage.FONT_STYLE__BOLD:
+ return isBold();
+ case NattablestylePackage.FONT_STYLE__ITALIC:
+ return isItalic();
+ case NattablestylePackage.FONT_STYLE__UNDERLINE:
+ return isUnderline();
+ case NattablestylePackage.FONT_STYLE__STRIKE_THROUGH:
+ return isStrikeThrough();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.FONT_STYLE__FONT_COLOR:
+ setFontColor((Integer) newValue);
+ return;
+ case NattablestylePackage.FONT_STYLE__FONT_NAME:
+ setFontName((String) newValue);
+ return;
+ case NattablestylePackage.FONT_STYLE__FONT_HEIGHT:
+ setFontHeight((Integer) newValue);
+ return;
+ case NattablestylePackage.FONT_STYLE__BOLD:
+ setBold((Boolean) newValue);
+ return;
+ case NattablestylePackage.FONT_STYLE__ITALIC:
+ setItalic((Boolean) newValue);
+ return;
+ case NattablestylePackage.FONT_STYLE__UNDERLINE:
+ setUnderline((Boolean) newValue);
+ return;
+ case NattablestylePackage.FONT_STYLE__STRIKE_THROUGH:
+ setStrikeThrough((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.FONT_STYLE__FONT_COLOR:
+ setFontColor(FONT_COLOR_EDEFAULT);
+ return;
+ case NattablestylePackage.FONT_STYLE__FONT_NAME:
+ setFontName(FONT_NAME_EDEFAULT);
+ return;
+ case NattablestylePackage.FONT_STYLE__FONT_HEIGHT:
+ setFontHeight(FONT_HEIGHT_EDEFAULT);
+ return;
+ case NattablestylePackage.FONT_STYLE__BOLD:
+ setBold(BOLD_EDEFAULT);
+ return;
+ case NattablestylePackage.FONT_STYLE__ITALIC:
+ setItalic(ITALIC_EDEFAULT);
+ return;
+ case NattablestylePackage.FONT_STYLE__UNDERLINE:
+ setUnderline(UNDERLINE_EDEFAULT);
+ return;
+ case NattablestylePackage.FONT_STYLE__STRIKE_THROUGH:
+ setStrikeThrough(STRIKE_THROUGH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.FONT_STYLE__FONT_COLOR:
+ return getFontColor() != FONT_COLOR_EDEFAULT;
+ case NattablestylePackage.FONT_STYLE__FONT_NAME:
+ return FONT_NAME_EDEFAULT == null ? getFontName() != null : !FONT_NAME_EDEFAULT.equals(getFontName());
+ case NattablestylePackage.FONT_STYLE__FONT_HEIGHT:
+ return getFontHeight() != FONT_HEIGHT_EDEFAULT;
+ case NattablestylePackage.FONT_STYLE__BOLD:
+ return isBold() != BOLD_EDEFAULT;
+ case NattablestylePackage.FONT_STYLE__ITALIC:
+ return isItalic() != ITALIC_EDEFAULT;
+ case NattablestylePackage.FONT_STYLE__UNDERLINE:
+ return isUnderline() != UNDERLINE_EDEFAULT;
+ case NattablestylePackage.FONT_STYLE__STRIKE_THROUGH:
+ return isStrikeThrough() != STRIKE_THROUGH_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // FontStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/IntListValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/IntListValueStyleImpl.java
new file mode 100644
index 0000000..6641c66
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/IntListValueStyleImpl.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.IntListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Int List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.IntListValueStyleImpl#getIntListValue <em>Int List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntListValueStyleImpl extends NamedStyleImpl implements IntListValueStyle {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntListValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.INT_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Integer> getIntListValue() {
+ return (EList<Integer>)eDynamicGet(NattablestylePackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.INT_LIST_VALUE_STYLE__INT_LIST_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ return getIntListValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ getIntListValue().clear();
+ getIntListValue().addAll((Collection<? extends Integer>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ getIntListValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.INT_LIST_VALUE_STYLE__INT_LIST_VALUE:
+ return !getIntListValue().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // IntListValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/IntValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/IntValueStyleImpl.java
new file mode 100644
index 0000000..0c129e0
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/IntValueStyleImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.IntValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Int Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.IntValueStyleImpl#getIntValue <em>Int Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntValueStyleImpl extends NamedStyleImpl implements IntValueStyle {
+
+ /**
+ * The default value of the '{@link #getIntValue() <em>Int Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int INT_VALUE_EDEFAULT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.INT_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int getIntValue() {
+ return (Integer)eDynamicGet(NattablestylePackage.INT_VALUE_STYLE__INT_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.INT_VALUE_STYLE__INT_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setIntValue(int newIntValue) {
+ eDynamicSet(NattablestylePackage.INT_VALUE_STYLE__INT_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.INT_VALUE_STYLE__INT_VALUE, newIntValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.INT_VALUE_STYLE__INT_VALUE:
+ return getIntValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.INT_VALUE_STYLE__INT_VALUE:
+ setIntValue((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.INT_VALUE_STYLE__INT_VALUE:
+ setIntValue(INT_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.INT_VALUE_STYLE__INT_VALUE:
+ return getIntValue() != INT_VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // IntValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/NamedStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/NamedStyleImpl.java
new file mode 100644
index 0000000..210b756
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/NamedStyleImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NamedStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.NamedStyleImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public class NamedStyleImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements NamedStyle {
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NamedStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.NAMED_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return (String) eDynamicGet(NattablestylePackage.NAMED_STYLE__NAME - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.NAMED_STYLE__NAME, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setName(String newName) {
+ eDynamicSet(NattablestylePackage.NAMED_STYLE__NAME - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.NAMED_STYLE__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.NAMED_STYLE__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.NAMED_STYLE__NAME:
+ setName((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.NAMED_STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.NAMED_STYLE__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ }
+ return super.eIsSet(featureID);
+ }
+} // NamedStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/NattablestyleFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/NattablestyleFactoryImpl.java
new file mode 100644
index 0000000..022f943
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/NattablestyleFactoryImpl.java
@@ -0,0 +1,354 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.BooleanListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.BooleanValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.CellTextAlignment;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.CellTextStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.DisplayStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.DoubleListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.DoubleValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.EObjectListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.EObjectValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.FontStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.IntListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.IntValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NamedStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestyleFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.StringListValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.StringValueStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.TableDisplayStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattablestyleFactoryImpl extends EFactoryImpl implements NattablestyleFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattablestyleFactory init() {
+ try {
+ NattablestyleFactory theNattablestyleFactory = (NattablestyleFactory)EPackage.Registry.INSTANCE.getEFactory(NattablestylePackage.eNS_URI);
+ if (theNattablestyleFactory != null) {
+ return theNattablestyleFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattablestyleFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattablestyleFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattablestylePackage.NAMED_STYLE: return createNamedStyle();
+ case NattablestylePackage.FONT_STYLE: return createFontStyle();
+ case NattablestylePackage.CELL_TEXT_STYLE: return createCellTextStyle();
+ case NattablestylePackage.INT_VALUE_STYLE: return createIntValueStyle();
+ case NattablestylePackage.INT_LIST_VALUE_STYLE: return createIntListValueStyle();
+ case NattablestylePackage.BOOLEAN_VALUE_STYLE: return createBooleanValueStyle();
+ case NattablestylePackage.BOOLEAN_LIST_VALUE_STYLE: return createBooleanListValueStyle();
+ case NattablestylePackage.DOUBLE_VALUE_STYLE: return createDoubleValueStyle();
+ case NattablestylePackage.DOUBLE_LIST_VALUE_STYLE: return createDoubleListValueStyle();
+ case NattablestylePackage.STRING_VALUE_STYLE: return createStringValueStyle();
+ case NattablestylePackage.STRING_LIST_VALUE_STYLE: return createStringListValueStyle();
+ case NattablestylePackage.TABLE_DISPLAY_STYLE: return createTableDisplayStyle();
+ case NattablestylePackage.EOBJECT_VALUE_STYLE: return createEObjectValueStyle();
+ case NattablestylePackage.EOBJECT_LIST_VALUE_STYLE: return createEObjectListValueStyle();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattablestylePackage.CELL_TEXT_ALIGNMENT:
+ return createCellTextAlignmentFromString(eDataType, initialValue);
+ case NattablestylePackage.DISPLAY_STYLE:
+ return createDisplayStyleFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case NattablestylePackage.CELL_TEXT_ALIGNMENT:
+ return convertCellTextAlignmentToString(eDataType, instanceValue);
+ case NattablestylePackage.DISPLAY_STYLE:
+ return convertDisplayStyleToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NamedStyle createNamedStyle() {
+ NamedStyleImpl namedStyle = new NamedStyleImpl();
+ return namedStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FontStyle createFontStyle() {
+ FontStyleImpl fontStyle = new FontStyleImpl();
+ return fontStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public CellTextStyle createCellTextStyle() {
+ CellTextStyleImpl cellTextStyle = new CellTextStyleImpl();
+ return cellTextStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public IntValueStyle createIntValueStyle() {
+ IntValueStyleImpl intValueStyle = new IntValueStyleImpl();
+ return intValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public IntListValueStyle createIntListValueStyle() {
+ IntListValueStyleImpl intListValueStyle = new IntListValueStyleImpl();
+ return intListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public BooleanValueStyle createBooleanValueStyle() {
+ BooleanValueStyleImpl booleanValueStyle = new BooleanValueStyleImpl();
+ return booleanValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public BooleanListValueStyle createBooleanListValueStyle() {
+ BooleanListValueStyleImpl booleanListValueStyle = new BooleanListValueStyleImpl();
+ return booleanListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DoubleValueStyle createDoubleValueStyle() {
+ DoubleValueStyleImpl doubleValueStyle = new DoubleValueStyleImpl();
+ return doubleValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DoubleListValueStyle createDoubleListValueStyle() {
+ DoubleListValueStyleImpl doubleListValueStyle = new DoubleListValueStyleImpl();
+ return doubleListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public StringValueStyle createStringValueStyle() {
+ StringValueStyleImpl stringValueStyle = new StringValueStyleImpl();
+ return stringValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public StringListValueStyle createStringListValueStyle() {
+ StringListValueStyleImpl stringListValueStyle = new StringListValueStyleImpl();
+ return stringListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public TableDisplayStyle createTableDisplayStyle() {
+ TableDisplayStyleImpl tableDisplayStyle = new TableDisplayStyleImpl();
+ return tableDisplayStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObjectValueStyle createEObjectValueStyle() {
+ EObjectValueStyleImpl eObjectValueStyle = new EObjectValueStyleImpl();
+ return eObjectValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObjectListValueStyle createEObjectListValueStyle() {
+ EObjectListValueStyleImpl eObjectListValueStyle = new EObjectListValueStyleImpl();
+ return eObjectListValueStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CellTextAlignment createCellTextAlignmentFromString(EDataType eDataType, String initialValue) {
+ CellTextAlignment result = CellTextAlignment.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCellTextAlignmentToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DisplayStyle createDisplayStyleFromString(EDataType eDataType, String initialValue) {
+ DisplayStyle result = DisplayStyle.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDisplayStyleToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattablestylePackage getNattablestylePackage() {
+ return (NattablestylePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattablestylePackage getPackage() {
+ return NattablestylePackage.eINSTANCE;
+ }
+} // NattablestyleFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StringListValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StringListValueStyleImpl.java
new file mode 100644
index 0000000..ca2d755
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StringListValueStyleImpl.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.StringListValueStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String List Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StringListValueStyleImpl#getStringListValue <em>String List Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StringListValueStyleImpl extends NamedStyleImpl implements StringListValueStyle {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringListValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.STRING_LIST_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<String> getStringListValue() {
+ return (EList<String>)eDynamicGet(NattablestylePackage.STRING_LIST_VALUE_STYLE__STRING_LIST_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.STRING_LIST_VALUE_STYLE__STRING_LIST_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_LIST_VALUE_STYLE__STRING_LIST_VALUE:
+ return getStringListValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_LIST_VALUE_STYLE__STRING_LIST_VALUE:
+ getStringListValue().clear();
+ getStringListValue().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_LIST_VALUE_STYLE__STRING_LIST_VALUE:
+ getStringListValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_LIST_VALUE_STYLE__STRING_LIST_VALUE:
+ return !getStringListValue().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // StringListValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StringValueStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StringValueStyleImpl.java
new file mode 100644
index 0000000..c221823
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StringValueStyleImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.StringValueStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Value Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StringValueStyleImpl#getStringValue <em>String Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StringValueStyleImpl extends NamedStyleImpl implements StringValueStyle {
+
+ /**
+ * The default value of the '{@link #getStringValue() <em>String Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStringValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String STRING_VALUE_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringValueStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.STRING_VALUE_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getStringValue() {
+ return (String)eDynamicGet(NattablestylePackage.STRING_VALUE_STYLE__STRING_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.STRING_VALUE_STYLE__STRING_VALUE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setStringValue(String newStringValue) {
+ eDynamicSet(NattablestylePackage.STRING_VALUE_STYLE__STRING_VALUE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.STRING_VALUE_STYLE__STRING_VALUE, newStringValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_VALUE_STYLE__STRING_VALUE:
+ return getStringValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_VALUE_STYLE__STRING_VALUE:
+ setStringValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_VALUE_STYLE__STRING_VALUE:
+ setStringValue(STRING_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.STRING_VALUE_STYLE__STRING_VALUE:
+ return STRING_VALUE_EDEFAULT == null ? getStringValue() != null : !STRING_VALUE_EDEFAULT.equals(getStringValue());
+ }
+ return super.eIsSet(featureID);
+ }
+} // StringValueStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StyledElementImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StyledElementImpl.java
new file mode 100644
index 0000000..ec7807d
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/StyledElementImpl.java
@@ -0,0 +1,255 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Iterator;
+
+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.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NamedStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.Style;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.StyledElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Styled Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl#getStyles <em>Styles</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public abstract class StyledElementImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements StyledElement {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StyledElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.STYLED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public EList<Style> getStyles() {
+ return (EList<Style>) eDynamicGet(NattablestylePackage.STYLED_ELEMENT__STYLES - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.STYLED_ELEMENT__STYLES, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ if (eClass != null && eIsSet(NattablestylePackage.Literals.STYLED_ELEMENT__STYLES) && NattablestylePackage.eINSTANCE.getNamedStyle().isSuperTypeOf(eClass)) {
+ for (Iterator i = getStyles().iterator(); i.hasNext();) {
+ Style style = (Style) i.next();
+ if (style.eClass() == eClass || eClass.isInstance(style)) {
+ if (style.eGet(NattablestylePackage.eINSTANCE.getNamedStyle_Name()).equals(name)) {
+ return (NamedStyle) style;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public Style getStyle(EClass eClass) {
+ if (eClass != null && NattablestylePackage.eINSTANCE.getStyle().isSuperTypeOf(eClass)) {
+ if (eClass.isSuperTypeOf(eClass())) {
+ return (Style) this;
+ }
+ if (eIsSet(NattablestylePackage.Literals.STYLED_ELEMENT__STYLES)) {
+ for (Iterator<?> i = getStyles().iterator(); i.hasNext();) {
+ Style style = (Style) i.next();
+ if (style.eClass() == eClass || eClass.isInstance(style)) {
+ return style;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public Style createStyle(EClass eClass) {
+ Style newStyle = (Style) eClass.getEPackage().getEFactoryInstance().create(eClass);
+ getStyles().add(newStyle);
+ return newStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case NattablestylePackage.STYLED_ELEMENT__STYLES:
+ return ((InternalEList<?>) getStyles()).basicRemove(otherEnd, 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 NattablestylePackage.STYLED_ELEMENT__STYLES:
+ return getStyles();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.STYLED_ELEMENT__STYLES:
+ getStyles().clear();
+ getStyles().addAll((Collection<? extends Style>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.STYLED_ELEMENT__STYLES:
+ getStyles().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.STYLED_ELEMENT__STYLES:
+ return !getStyles().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattablestylePackage.STYLED_ELEMENT___GET_NAMED_STYLE__ECLASS_STRING:
+ return getNamedStyle((EClass) arguments.get(0), (String) arguments.get(1));
+ case NattablestylePackage.STYLED_ELEMENT___GET_STYLE__ECLASS:
+ return getStyle((EClass) arguments.get(0));
+ case NattablestylePackage.STYLED_ELEMENT___CREATE_STYLE__ECLASS:
+ return createStyle((EClass) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+} // StyledElementImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/TableDisplayStyleImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/TableDisplayStyleImpl.java
new file mode 100644
index 0000000..789394b
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablestyle/impl/TableDisplayStyleImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablestyle.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.DisplayStyle;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.TableDisplayStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table Display Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.TableDisplayStyleImpl#getDisplayStyle <em>Display Style</em>}</li>
+ * </ul>
+ *
+ * @generated not
+ */
+public class TableDisplayStyleImpl extends org.eclipse.emf.cdo.ecore.impl.EModelElementImpl implements TableDisplayStyle {
+
+ /**
+ * The default value of the '{@link #getDisplayStyle() <em>Display Style</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDisplayStyle()
+ * @generated
+ * @ordered
+ */
+ protected static final DisplayStyle DISPLAY_STYLE_EDEFAULT = DisplayStyle.NORMAL;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TableDisplayStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablestylePackage.Literals.TABLE_DISPLAY_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Decrease the generated ESTATIC_FEATURE_COUNT from 1 to 0 because the inherited
+ * EModelElement.eAnnotations feature is implemented dynamically, too.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected static final int ESTATIC_FEATURE_COUNT = 0;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return ESTATIC_FEATURE_COUNT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DisplayStyle getDisplayStyle() {
+ return (DisplayStyle) eDynamicGet(NattablestylePackage.TABLE_DISPLAY_STYLE__DISPLAY_STYLE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.TABLE_DISPLAY_STYLE__DISPLAY_STYLE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDisplayStyle(DisplayStyle newDisplayStyle) {
+ eDynamicSet(NattablestylePackage.TABLE_DISPLAY_STYLE__DISPLAY_STYLE - ESTATIC_FEATURE_COUNT, NattablestylePackage.Literals.TABLE_DISPLAY_STYLE__DISPLAY_STYLE, newDisplayStyle);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablestylePackage.TABLE_DISPLAY_STYLE__DISPLAY_STYLE:
+ return getDisplayStyle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablestylePackage.TABLE_DISPLAY_STYLE__DISPLAY_STYLE:
+ setDisplayStyle((DisplayStyle) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.TABLE_DISPLAY_STYLE__DISPLAY_STYLE:
+ setDisplayStyle(DISPLAY_STYLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablestylePackage.TABLE_DISPLAY_STYLE__DISPLAY_STYLE:
+ return getDisplayStyle() != DISPLAY_STYLE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+} // TableDisplayStyleImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/AbstractTableTesterImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/AbstractTableTesterImpl.java
new file mode 100644
index 0000000..d4e4823
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/AbstractTableTesterImpl.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattabletester.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.AbstractTableTester;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.NattabletesterPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Table Tester</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class AbstractTableTesterImpl extends StyledElementImpl implements AbstractTableTester {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractTableTesterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattabletesterPackage.Literals.ABSTRACT_TABLE_TESTER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getTester() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case NattabletesterPackage.ABSTRACT_TABLE_TESTER___GET_TESTER:
+ return getTester();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+} // AbstractTableTesterImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/JavaTableTesterImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/JavaTableTesterImpl.java
new file mode 100644
index 0000000..3195e46
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/JavaTableTesterImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattabletester.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.JavaTableTester;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.NattabletesterPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Java Table Tester</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattabletester.impl.JavaTableTesterImpl#getTester <em>Tester</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class JavaTableTesterImpl extends AbstractTableTesterImpl implements JavaTableTester {
+
+ /**
+ * The default value of the '{@link #getTester() <em>Tester</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTester()
+ * @generated
+ * @ordered
+ */
+ protected static final String TESTER_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected JavaTableTesterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattabletesterPackage.Literals.JAVA_TABLE_TESTER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getTester() {
+ return (String)eDynamicGet(NattabletesterPackage.JAVA_TABLE_TESTER__TESTER - ESTATIC_FEATURE_COUNT, NattabletesterPackage.Literals.JAVA_TABLE_TESTER__TESTER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setTester(String newTester) {
+ eDynamicSet(NattabletesterPackage.JAVA_TABLE_TESTER__TESTER - ESTATIC_FEATURE_COUNT, NattabletesterPackage.Literals.JAVA_TABLE_TESTER__TESTER, newTester);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattabletesterPackage.JAVA_TABLE_TESTER__TESTER:
+ return getTester();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattabletesterPackage.JAVA_TABLE_TESTER__TESTER:
+ setTester((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattabletesterPackage.JAVA_TABLE_TESTER__TESTER:
+ setTester(TESTER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattabletesterPackage.JAVA_TABLE_TESTER__TESTER:
+ return TESTER_EDEFAULT == null ? getTester() != null : !TESTER_EDEFAULT.equals(getTester());
+ }
+ return super.eIsSet(featureID);
+ }
+} // JavaTableTesterImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/NattabletesterFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/NattabletesterFactoryImpl.java
new file mode 100644
index 0000000..4630d17
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattabletester/impl/NattabletesterFactoryImpl.java
@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattabletester.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.JavaTableTester;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.NattabletesterFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattabletester.NattabletesterPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattabletesterFactoryImpl extends EFactoryImpl implements NattabletesterFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattabletesterFactory init() {
+ try {
+ NattabletesterFactory theNattabletesterFactory = (NattabletesterFactory)EPackage.Registry.INSTANCE.getEFactory(NattabletesterPackage.eNS_URI);
+ if (theNattabletesterFactory != null) {
+ return theNattabletesterFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattabletesterFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattabletesterFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattabletesterPackage.JAVA_TABLE_TESTER: return createJavaTableTester();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public JavaTableTester createJavaTableTester() {
+ JavaTableTesterImpl javaTableTester = new JavaTableTesterImpl();
+ return javaTableTester;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NattabletesterPackage getNattabletesterPackage() {
+ return (NattabletesterPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattabletesterPackage getPackage() {
+ return NattabletesterPackage.eINSTANCE;
+ }
+} // NattabletesterFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/EObjectWrapperImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/EObjectWrapperImpl.java
new file mode 100644
index 0000000..468149e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/EObjectWrapperImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablewrapper.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.EObjectWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.NattablewrapperPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EObject Wrapper</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablewrapper.impl.EObjectWrapperImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EObjectWrapperImpl extends StyledElementImpl implements EObjectWrapper {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObjectWrapperImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablewrapperPackage.Literals.EOBJECT_WRAPPER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getElement() {
+ return (EObject)eDynamicGet(NattablewrapperPackage.EOBJECT_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablewrapperPackage.Literals.EOBJECT_WRAPPER__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetElement() {
+ return (EObject)eDynamicGet(NattablewrapperPackage.EOBJECT_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablewrapperPackage.Literals.EOBJECT_WRAPPER__ELEMENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(EObject newElement) {
+ eDynamicSet(NattablewrapperPackage.EOBJECT_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablewrapperPackage.Literals.EOBJECT_WRAPPER__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablewrapperPackage.EOBJECT_WRAPPER__ELEMENT:
+ if (resolve) return getElement();
+ return basicGetElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablewrapperPackage.EOBJECT_WRAPPER__ELEMENT:
+ setElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablewrapperPackage.EOBJECT_WRAPPER__ELEMENT:
+ setElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablewrapperPackage.EOBJECT_WRAPPER__ELEMENT:
+ return basicGetElement() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EObjectWrapperImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/IdWrapperImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/IdWrapperImpl.java
new file mode 100644
index 0000000..1720caa
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/IdWrapperImpl.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablewrapper.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl.StyledElementImpl;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.IdWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.NattablewrapperPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Id Wrapper</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablewrapper.impl.IdWrapperImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IdWrapperImpl extends StyledElementImpl implements IdWrapper {
+ /**
+ * The default value of the '{@link #getElement() <em>Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IdWrapperImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NattablewrapperPackage.Literals.ID_WRAPPER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getElement() {
+ return (String)eDynamicGet(NattablewrapperPackage.ID_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablewrapperPackage.Literals.ID_WRAPPER__ELEMENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(String newElement) {
+ eDynamicSet(NattablewrapperPackage.ID_WRAPPER__ELEMENT - ESTATIC_FEATURE_COUNT, NattablewrapperPackage.Literals.ID_WRAPPER__ELEMENT, newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NattablewrapperPackage.ID_WRAPPER__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NattablewrapperPackage.ID_WRAPPER__ELEMENT:
+ setElement((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NattablewrapperPackage.ID_WRAPPER__ELEMENT:
+ setElement(ELEMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NattablewrapperPackage.ID_WRAPPER__ELEMENT:
+ return ELEMENT_EDEFAULT == null ? getElement() != null : !ELEMENT_EDEFAULT.equals(getElement());
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //IdWrapperImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/NattablewrapperFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/NattablewrapperFactoryImpl.java
new file mode 100644
index 0000000..3954534
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/src/org/eclipse/papyrus/infra/nattable/model/cdo/nattable/nattablewrapper/impl/NattablewrapperFactoryImpl.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) 2013 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.infra.nattable.model.cdo.nattable.nattablewrapper.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.EObjectWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.IdWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.NattablewrapperFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablewrapper.NattablewrapperPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NattablewrapperFactoryImpl extends EFactoryImpl implements NattablewrapperFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NattablewrapperFactory init() {
+ try {
+ NattablewrapperFactory theNattablewrapperFactory = (NattablewrapperFactory)EPackage.Registry.INSTANCE.getEFactory(NattablewrapperPackage.eNS_URI);
+ if (theNattablewrapperFactory != null) {
+ return theNattablewrapperFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NattablewrapperFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattablewrapperFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NattablewrapperPackage.EOBJECT_WRAPPER: return createEObjectWrapper();
+ case NattablewrapperPackage.ID_WRAPPER: return createIdWrapper();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObjectWrapper createEObjectWrapper() {
+ EObjectWrapperImpl eObjectWrapper = new EObjectWrapperImpl();
+ return eObjectWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IdWrapper createIdWrapper() {
+ IdWrapperImpl idWrapper = new IdWrapperImpl();
+ return idWrapper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NattablewrapperPackage getNattablewrapperPackage() {
+ return (NattablewrapperPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NattablewrapperPackage getPackage() {
+ return NattablewrapperPackage.eINSTANCE;
+ }
+
+} //NattablewrapperFactoryImpl
diff --git a/cdo/bundles/pom.xml b/cdo/bundles/pom.xml
index bb79c5a..16a5086 100755
--- a/cdo/bundles/pom.xml
+++ b/cdo/bundles/pom.xml
@@ -31,8 +31,10 @@
<module>org.eclipse.papyrus.infra.gmfdiag.css.cdo</module>
<module>org.eclipse.papyrus.infra.gmfdiag.style.cdo</module>
+ <module>org.eclipse.papyrus.infra.core.architecture.cdo</module>
+ <module>org.eclipse.papyrus.infra.nattable.model.cdo</module>
+
<module>uml</module>
-
</modules>
</project>
\ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant
index 32718a6..215e05a 100644
--- a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant
@@ -88,6 +88,7 @@
<copy todir="${impl}">
<fileset dir="${uml.tmp}/src/org/eclipse/uml2/uml/internal/impl">
<include name="*.java" />
+ <exclude name="UMLPackageImpl.java" />
</fileset>
<!--
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.classpath b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.classpath
new file mode 100644
index 0000000..304e861
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.gitignore b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.gitignore
new file mode 100644
index 0000000..8000a78
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.gitignore
@@ -0,0 +1,2 @@
+bin
+/target/
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.project b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.project
new file mode 100644
index 0000000..04fe44c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.uml2.uml.profile.standard.cdo</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.settings/org.eclipse.jdt.core.prefs b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..af0f20f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.settings/org.eclipse.jdt.ui.prefs b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..9aa3e72
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.number_suffix=false
+cleanup.organize_imports=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=false
+cleanup.remove_redundant_type_arguments=false
+cleanup.remove_trailing_whitespaces=false
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=false
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_unboxing=false
+cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile
+cleanup_settings_version=2
+eclipse.preferences.version=1
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/META-INF/MANIFEST.MF b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..bd0d26e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.uml2.uml.profile.standard.cdo;singleton:=true
+Bundle-Version: 1.5.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.uml2.uml.profile.standard.cdo
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)";resolution:=optional;x-installation:=greedy,
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.5.0";visibility:=reexport,
+ org.eclipse.emf.cdo;bundle-version="[4.0.0,5.0.0)"
+Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.uml2.uml.profile.standard.cdo
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/Migrate UML2 Standard Profile.launch b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/Migrate UML2 Standard Profile.launch
new file mode 100644
index 0000000..f4c364c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/Migrate UML2 Standard Profile.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/org.eclipse.uml2.uml.profile.standard.cdo" type="4"/> </resources>}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.uml2.uml.profile.standard.cdo/migrate.ant"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.uml2.uml.profile.standard.cdo"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.uml2.uml.profile.standard.cdo/migrate.ant}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dgit.clone.uml2=${git.clone.uml2}"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/about.html b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/about.html
new file mode 100644
index 0000000..1a90f7e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 12, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v20.html">http://www.eclipse.org/legal/epl-v20.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/build.properties b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/build.properties
new file mode 100644
index 0000000..8c22674
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/build.properties
@@ -0,0 +1,24 @@
+# Copyright (c) 2014, 2018 CEA and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v20.html
+#
+# Contributors:
+# Kenn Hussey (CEA) - initial API and implementation
+# Kenn Hussey - 535301
+#
+source.. = src/
+output.. = bin/
+bin.includes = about.html,\
+ plugin.*,\
+ .,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+src.includes = about.html,\
+ Migrate UML2 Standard Profile.launch,\
+ migrate.ant
+exclude.. = **/doc-files/**
+javacSource = 1.5
+javacTarget = 1.5
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/migrate.ant b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/migrate.ant
new file mode 100644
index 0000000..3772b18
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/migrate.ant
@@ -0,0 +1,149 @@
+<?xml version="1.0"?>
+<!--
+ 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:
+ Eike Stepper - initial API and implementation
+-->
+<project name="migrate" default="migrate">
+
+ <!--
+ The migration of the UML2 model to CDO is completely automated.
+ The following preconditions must be met before executing the 'migrate.ant' script:
+
+ 1. A recent 'EMF SDK' feature must be installed into the Eclipse IDE.
+
+ 2. The 'org.eclipse.emf.cdo.migrator' plugin must be installed into the Eclipse IDE.
+
+ 3. UML2's Git repository must be cloned from
+ https://git.eclipse.org/r/uml2/org.eclipse.uml2
+ to the local disk. Its disk location must then be passed into this script
+ through the 'git.clone.uml2' property.
+
+ 4. This Ant script must be executed in the JRE of the running IDE!
+
+ Ideally this script is executed via the accompanying 'Migrate UML2.launch'.
+
+ Do NOT apply hand-written changes to the classes in the
+ org.eclipse.uml2.uml.cdo.internal.impl package.
+ This script will eventually overwrite them!
+ Rather modify the underlying UML2 code or this script.
+ -->
+ <target name="migrate">
+ <property name="project.name" value="org.eclipse.uml2.uml.profile.standard" />
+
+ <!--
+ Ensure that UML2's Git clone exists and is reachable.
+ -->
+ <fail unless="git.clone.uml2" message="Property 'git.clone.uml2' is undefined!" />
+ <property name="standard" location="${git.clone.uml2}/plugins/${project.name}" />
+ <fail message="The directory '${standard}' does not exist!">
+ <condition>
+ <not>
+ <available file="${standard}" type="dir" />
+ </not>
+ </condition>
+ </fail>
+
+ <property name="standard.tmp" location="${basedir}/target/${project.name}" />
+ <echo message="Migrating in ${standard.tmp} ..." />
+
+ <cdo.automaticBuild enable="false" />
+ <cdo.deleteProject projectname=".JETEmitters" deletecontent="true" />
+ <backup.project project.name="${project.name}" />
+
+ <!--
+ Migrate the 'Standard.genmodel' to CDO and regenerate the model within the
+ imported 'org.eclipse.uml2.uml.profile.standard' project.
+ -->
+ <property name="model.path" value="/${project.name}/model/Standard.genmodel" />
+ <cdo.migrateModel modelpath="${model.path}" dynamicfeaturedelegation="true" />
+ <cdo.generateModel modelpath="${model.path}" />
+
+ <!--
+ Copy all Java files from the generated 'impl' folder to the
+ 'org.eclipse.uml2.uml.profile.standard.cdo' project.
+ -->
+ <property name="impl" location="${basedir}/src/org/eclipse/uml2/uml/profile/standard/cdo" />
+ <delete>
+ <fileset dir="${impl}">
+ <include name="*.java" />
+ </fileset>
+ </delete>
+ <copy todir="${impl}">
+ <fileset dir="${standard.tmp}/src/org/eclipse/uml2/uml/profile/standard/internal/impl">
+ <include name="*.java" />
+ <exclude name="StandardPackageImpl.java" />
+ </fileset>
+
+ <!--
+ Apply the following refactorings:
+ -->
+ <filterchain>
+ <!--
+ Rename the Java package to 'org.eclipse.uml2.uml.profile.standard.cdo'.
+ -->
+ <replacestring from="org.eclipse.uml2.uml.profile.standard.internal.impl" to="org.eclipse.uml2.uml.profile.standard.cdo" />
+ </filterchain>
+ </copy>
+
+ <restore.project project.name="${project.name}" />
+
+ <!--
+ Apply source cleanup to the 'org.eclipse.uml2.uml.profile.standard.cdo' project.
+ This ensures that only relevant changes appear in the Git history.
+ -->
+ <cdo.cleanupProject projectname="org.eclipse.uml2.uml.profile.standard.cdo" />
+ <cdo.automaticBuild enable="true" />
+ </target>
+
+
+ <!--
+ This macro copies a project from the UML2 Git repository to the
+ 'target' folder of the 'org.eclipse.uml2.uml.profile.standard.cdo' project and then
+ re-imports it from the new, temporary location into the workspace.
+ -->
+ <macrodef name="backup.project">
+ <attribute name="project.name" />
+ <sequential>
+ <echo message="Backing up project @{project.name}" />
+ <delete failonerror="false" includeemptydirs="true">
+ <fileset dir="${basedir}/target/@{project.name}">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <copy todir="${basedir}/target/@{project.name}" verbose="false" failonerror="true" overwrite="true" includeemptydirs="false">
+ <fileset dir="${git.clone.uml2}/plugins/@{project.name}" defaultexcludes="true">
+ <include name="**/*" />
+ <exclude name="bin/**" />
+ </fileset>
+ </copy>
+ <replace dir="${basedir}/target/@{project.name}" token="@generated NOT_CDO" value="@generated">
+ <include name="**/*.java" />
+ </replace>
+ <cdo.deleteProject projectname="@{project.name}" />
+ <cdo.importProject projectname="@{project.name}" fromlocation="${basedir}/target/@{project.name}" />
+ </sequential>
+ </macrodef>
+
+ <!--
+ This macro reverts the effect of the "backup.project" macro for
+ the given workspace project, i.e., it re-imports the project from
+ its original location in the UML2 Git repository.
+ -->
+ <macrodef name="restore.project">
+ <attribute name="project.name" />
+ <sequential>
+ <echo message="Restoring project @{project.name}" />
+ <cdo.deleteProject projectname="@{project.name}" />
+ <cdo.importProject projectname="@{project.name}" fromlocation="${git.clone.uml2}/plugins/@{project.name}" />
+ </sequential>
+ </macrodef>
+
+</project>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/plugin.properties b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/plugin.properties
new file mode 100644
index 0000000..4d85961
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/plugin.properties
@@ -0,0 +1,35 @@
+# Copyright (c) 2011, 2018 CEA and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v20.html
+#
+# Contributors:
+# Kenn Hussey (CEA) - initial API and implementation
+# Kenn Hussey - 535301
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+pluginName = UML2 Standard Profile (CDO Version)
+providerName = Eclipse Modeling Project
+
+_UI_Call_ClientAndSupplierAreOperations_diagnostic = Call ''{0}'' has a client or supplier that is not an operation.
+
+_UI_Create_ClientAndSupplierAreClassifiers_diagnostic = Create ''{0}'' has a client or supplier that is not a classifier.
+
+_UI_ImplementationClass_CannotBeRealization_diagnostic = Implementation class ''{0}'' cannot also be a realization.
+
+_UI_Implement_ImplementsSpecification_diagnostic = Implement ''{0}'' does not have a supplier specification.
+
+_UI_Instantiate_ClientAndSupplierAreClassifiers_diagnostic = Instantiate ''{0}'' has a client or supplier that is not a classifier.
+
+_UI_Realization_CannotBeImplementationClass_diagnostic = Realization ''{0}'' cannot also be an implementation class.
+
+_UI_Send_ClientOperationSendsSupplierSignal_diagnostic = Send ''{0}'' has a client that is not an operation or a supplier that is not a signal.
+
+_UI_Specification_CannotBeType_diagnostic = Specification ''{0}'' cannot also be a type.
+
+_UI_Type_CannotBeSpecification_diagnostic = Type ''{0}'' cannot also be a specification.
+
+_UI_Utility_IsUtility_diagnostic = Utility ''{0}'' has one or more non-static features.
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/plugin.xml b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/plugin.xml
new file mode 100644
index 0000000..21e972b
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/plugin.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2020 CEA and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v2.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v20.html
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri = "http://www.eclipse.org/uml2/schemas/Standard/1"
+ class = "org.eclipse.uml2.uml.profile.standard.cdo.StandardFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2"
+ class="org.eclipse.uml2.uml.profile.standard.cdo.StandardFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L3"
+ class="org.eclipse.uml2.uml.profile.standard.cdo.StandardFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard"
+ class="org.eclipse.uml2.uml.profile.standard.cdo.StandardFactoryImpl" />
+ </extension>
+
+</plugin>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/pom.xml b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/pom.xml
new file mode 100644
index 0000000..1049510
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>uml</artifactId>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.uml2.uml.profile.standard.cdo</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <version>1.5.0-SNAPSHOT</version>
+</project>
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/AuxiliaryImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/AuxiliaryImpl.java
new file mode 100644
index 0000000..ba7ff1e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/AuxiliaryImpl.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.Auxiliary;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Auxiliary</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.AuxiliaryImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AuxiliaryImpl extends CDOObjectImpl implements Auxiliary {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AuxiliaryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.AUXILIARY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.AUXILIARY__BASE_CLASS,
+ StandardPackage.Literals.AUXILIARY__BASE_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.AUXILIARY__BASE_CLASS,
+ StandardPackage.Literals.AUXILIARY__BASE_CLASS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ eDynamicSet(StandardPackage.AUXILIARY__BASE_CLASS, StandardPackage.Literals.AUXILIARY__BASE_CLASS,
+ newBase_Class);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.AUXILIARY__BASE_CLASS:
+ if (resolve)
+ return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.AUXILIARY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.AUXILIARY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.AUXILIARY__BASE_CLASS:
+ return basicGetBase_Class() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AuxiliaryImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/BuildComponentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/BuildComponentImpl.java
new file mode 100644
index 0000000..e4c64a5
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/BuildComponentImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.profile.standard.BuildComponent;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Build Component</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.BuildComponentImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BuildComponentImpl extends CDOObjectImpl implements BuildComponent {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BuildComponentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.BUILD_COMPONENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component getBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.BUILD_COMPONENT__BASE_COMPONENT,
+ StandardPackage.Literals.BUILD_COMPONENT__BASE_COMPONENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component basicGetBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.BUILD_COMPONENT__BASE_COMPONENT,
+ StandardPackage.Literals.BUILD_COMPONENT__BASE_COMPONENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Component(Component newBase_Component) {
+ eDynamicSet(StandardPackage.BUILD_COMPONENT__BASE_COMPONENT,
+ StandardPackage.Literals.BUILD_COMPONENT__BASE_COMPONENT, newBase_Component);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.BUILD_COMPONENT__BASE_COMPONENT:
+ if (resolve)
+ return getBase_Component();
+ return basicGetBase_Component();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.BUILD_COMPONENT__BASE_COMPONENT:
+ setBase_Component((Component) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.BUILD_COMPONENT__BASE_COMPONENT:
+ setBase_Component((Component) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.BUILD_COMPONENT__BASE_COMPONENT:
+ return basicGetBase_Component() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BuildComponentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/CallImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/CallImpl.java
new file mode 100644
index 0000000..8feae6e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/CallImpl.java
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.profile.standard.Call;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.CallOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.CallImpl#getBase_Usage <em>Base Usage</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CallImpl extends CDOObjectImpl implements Call {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.CALL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage getBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.CALL__BASE_USAGE, StandardPackage.Literals.CALL__BASE_USAGE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage basicGetBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.CALL__BASE_USAGE, StandardPackage.Literals.CALL__BASE_USAGE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Usage(Usage newBase_Usage) {
+ eDynamicSet(StandardPackage.CALL__BASE_USAGE, StandardPackage.Literals.CALL__BASE_USAGE, newBase_Usage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClientAndSupplierAreOperations(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return CallOperations.validateClientAndSupplierAreOperations(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.CALL__BASE_USAGE:
+ if (resolve)
+ return getBase_Usage();
+ return basicGetBase_Usage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.CALL__BASE_USAGE:
+ setBase_Usage((Usage) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.CALL__BASE_USAGE:
+ setBase_Usage((Usage) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.CALL__BASE_USAGE:
+ return basicGetBase_Usage() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.CALL___VALIDATE_CLIENT_AND_SUPPLIER_ARE_OPERATIONS__DIAGNOSTICCHAIN_MAP:
+ return validateClientAndSupplierAreOperations((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //CallImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/CreateImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/CreateImpl.java
new file mode 100644
index 0000000..7e4711a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/CreateImpl.java
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.profile.standard.Create;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.CreateOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Create</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.CreateImpl#getBase_BehavioralFeature <em>Base Behavioral Feature</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.CreateImpl#getBase_Usage <em>Base Usage</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CreateImpl extends CDOObjectImpl implements Create {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.CREATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature getBase_BehavioralFeature() {
+ return (BehavioralFeature) eDynamicGet(StandardPackage.CREATE__BASE_BEHAVIORAL_FEATURE,
+ StandardPackage.Literals.CREATE__BASE_BEHAVIORAL_FEATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature basicGetBase_BehavioralFeature() {
+ return (BehavioralFeature) eDynamicGet(StandardPackage.CREATE__BASE_BEHAVIORAL_FEATURE,
+ StandardPackage.Literals.CREATE__BASE_BEHAVIORAL_FEATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_BehavioralFeature(BehavioralFeature newBase_BehavioralFeature) {
+ eDynamicSet(StandardPackage.CREATE__BASE_BEHAVIORAL_FEATURE,
+ StandardPackage.Literals.CREATE__BASE_BEHAVIORAL_FEATURE, newBase_BehavioralFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage getBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.CREATE__BASE_USAGE, StandardPackage.Literals.CREATE__BASE_USAGE,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage basicGetBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.CREATE__BASE_USAGE, StandardPackage.Literals.CREATE__BASE_USAGE,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Usage(Usage newBase_Usage) {
+ eDynamicSet(StandardPackage.CREATE__BASE_USAGE, StandardPackage.Literals.CREATE__BASE_USAGE, newBase_Usage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClientAndSupplierAreClassifiers(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return CreateOperations.validateClientAndSupplierAreClassifiers(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.CREATE__BASE_BEHAVIORAL_FEATURE:
+ if (resolve)
+ return getBase_BehavioralFeature();
+ return basicGetBase_BehavioralFeature();
+ case StandardPackage.CREATE__BASE_USAGE:
+ if (resolve)
+ return getBase_Usage();
+ return basicGetBase_Usage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.CREATE__BASE_BEHAVIORAL_FEATURE:
+ setBase_BehavioralFeature((BehavioralFeature) newValue);
+ return;
+ case StandardPackage.CREATE__BASE_USAGE:
+ setBase_Usage((Usage) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.CREATE__BASE_BEHAVIORAL_FEATURE:
+ setBase_BehavioralFeature((BehavioralFeature) null);
+ return;
+ case StandardPackage.CREATE__BASE_USAGE:
+ setBase_Usage((Usage) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.CREATE__BASE_BEHAVIORAL_FEATURE:
+ return basicGetBase_BehavioralFeature() != null;
+ case StandardPackage.CREATE__BASE_USAGE:
+ return basicGetBase_Usage() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.CREATE___VALIDATE_CLIENT_AND_SUPPLIER_ARE_CLASSIFIERS__DIAGNOSTICCHAIN_MAP:
+ return validateClientAndSupplierAreClassifiers((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //CreateImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DeriveImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DeriveImpl.java
new file mode 100644
index 0000000..5269c98
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DeriveImpl.java
@@ -0,0 +1,225 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.ValueSpecification;
+import org.eclipse.uml2.uml.profile.standard.Derive;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Derive</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.DeriveImpl#getComputation <em>Computation</em>}</li>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.DeriveImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DeriveImpl extends CDOObjectImpl implements Derive {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeriveImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.DERIVE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getComputation() {
+ return (ValueSpecification) eDynamicGet(StandardPackage.DERIVE__COMPUTATION,
+ StandardPackage.Literals.DERIVE__COMPUTATION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetComputation() {
+ return (ValueSpecification) eDynamicGet(StandardPackage.DERIVE__COMPUTATION,
+ StandardPackage.Literals.DERIVE__COMPUTATION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetComputation(ValueSpecification newComputation, NotificationChain msgs) {
+ msgs = eDynamicInverseAdd((InternalEObject) newComputation, StandardPackage.DERIVE__COMPUTATION, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComputation(ValueSpecification newComputation) {
+ eDynamicSet(StandardPackage.DERIVE__COMPUTATION, StandardPackage.Literals.DERIVE__COMPUTATION, newComputation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction getBase_Abstraction() {
+ return (Abstraction) eDynamicGet(StandardPackage.DERIVE__BASE_ABSTRACTION,
+ StandardPackage.Literals.DERIVE__BASE_ABSTRACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return (Abstraction) eDynamicGet(StandardPackage.DERIVE__BASE_ABSTRACTION,
+ StandardPackage.Literals.DERIVE__BASE_ABSTRACTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+ eDynamicSet(StandardPackage.DERIVE__BASE_ABSTRACTION, StandardPackage.Literals.DERIVE__BASE_ABSTRACTION,
+ newBase_Abstraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case StandardPackage.DERIVE__COMPUTATION:
+ return basicSetComputation(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 StandardPackage.DERIVE__COMPUTATION:
+ if (resolve)
+ return getComputation();
+ return basicGetComputation();
+ case StandardPackage.DERIVE__BASE_ABSTRACTION:
+ if (resolve)
+ return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.DERIVE__COMPUTATION:
+ setComputation((ValueSpecification) newValue);
+ return;
+ case StandardPackage.DERIVE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.DERIVE__COMPUTATION:
+ setComputation((ValueSpecification) null);
+ return;
+ case StandardPackage.DERIVE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.DERIVE__COMPUTATION:
+ return basicGetComputation() != null;
+ case StandardPackage.DERIVE__BASE_ABSTRACTION:
+ return basicGetBase_Abstraction() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DeriveImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DestroyImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DestroyImpl.java
new file mode 100644
index 0000000..2bb312c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DestroyImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.profile.standard.Destroy;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Destroy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.DestroyImpl#getBase_BehavioralFeature <em>Base Behavioral Feature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DestroyImpl extends CDOObjectImpl implements Destroy {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DestroyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.DESTROY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature getBase_BehavioralFeature() {
+ return (BehavioralFeature) eDynamicGet(StandardPackage.DESTROY__BASE_BEHAVIORAL_FEATURE,
+ StandardPackage.Literals.DESTROY__BASE_BEHAVIORAL_FEATURE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature basicGetBase_BehavioralFeature() {
+ return (BehavioralFeature) eDynamicGet(StandardPackage.DESTROY__BASE_BEHAVIORAL_FEATURE,
+ StandardPackage.Literals.DESTROY__BASE_BEHAVIORAL_FEATURE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_BehavioralFeature(BehavioralFeature newBase_BehavioralFeature) {
+ eDynamicSet(StandardPackage.DESTROY__BASE_BEHAVIORAL_FEATURE,
+ StandardPackage.Literals.DESTROY__BASE_BEHAVIORAL_FEATURE, newBase_BehavioralFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.DESTROY__BASE_BEHAVIORAL_FEATURE:
+ if (resolve)
+ return getBase_BehavioralFeature();
+ return basicGetBase_BehavioralFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.DESTROY__BASE_BEHAVIORAL_FEATURE:
+ setBase_BehavioralFeature((BehavioralFeature) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.DESTROY__BASE_BEHAVIORAL_FEATURE:
+ setBase_BehavioralFeature((BehavioralFeature) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.DESTROY__BASE_BEHAVIORAL_FEATURE:
+ return basicGetBase_BehavioralFeature() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DestroyImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DocumentImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DocumentImpl.java
new file mode 100644
index 0000000..ca0238f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/DocumentImpl.java
@@ -0,0 +1,111 @@
+/*8
+ * Copyright (c) 2014, 201 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.profile.standard.Document;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.DocumentImpl#getBase_Artifact <em>Base Artifact</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DocumentImpl extends FileImpl implements Document {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DocumentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.DOCUMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact getBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.DOCUMENT__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact basicGetBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.DOCUMENT__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Artifact(Artifact newBase_Artifact) {
+ eDynamicSet(StandardPackage.DOCUMENT__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ newBase_Artifact);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_Artifact() {
+ return basicGetBase_Artifact() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.DOCUMENT__BASE_ARTIFACT:
+ return isSetBase_Artifact();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DocumentImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/EntityImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/EntityImpl.java
new file mode 100644
index 0000000..af19a9c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/EntityImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.profile.standard.Entity;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.EntityImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EntityImpl extends CDOObjectImpl implements Entity {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EntityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.ENTITY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component getBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.ENTITY__BASE_COMPONENT,
+ StandardPackage.Literals.ENTITY__BASE_COMPONENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component basicGetBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.ENTITY__BASE_COMPONENT,
+ StandardPackage.Literals.ENTITY__BASE_COMPONENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Component(Component newBase_Component) {
+ eDynamicSet(StandardPackage.ENTITY__BASE_COMPONENT, StandardPackage.Literals.ENTITY__BASE_COMPONENT,
+ newBase_Component);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.ENTITY__BASE_COMPONENT:
+ if (resolve)
+ return getBase_Component();
+ return basicGetBase_Component();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.ENTITY__BASE_COMPONENT:
+ setBase_Component((Component) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.ENTITY__BASE_COMPONENT:
+ setBase_Component((Component) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.ENTITY__BASE_COMPONENT:
+ return basicGetBase_Component() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EntityImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ExecutableImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ExecutableImpl.java
new file mode 100644
index 0000000..6ed2d42
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ExecutableImpl.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.profile.standard.Executable;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Executable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ExecutableImpl#getBase_Artifact <em>Base Artifact</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExecutableImpl extends FileImpl implements Executable {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.EXECUTABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact getBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.EXECUTABLE__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact basicGetBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.EXECUTABLE__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Artifact(Artifact newBase_Artifact) {
+ eDynamicSet(StandardPackage.EXECUTABLE__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ newBase_Artifact);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_Artifact() {
+ return basicGetBase_Artifact() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.EXECUTABLE__BASE_ARTIFACT:
+ return isSetBase_Artifact();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExecutableImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FileImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FileImpl.java
new file mode 100644
index 0000000..b4c3151
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FileImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.profile.standard.File;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>File</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.FileImpl#getBase_Artifact <em>Base Artifact</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FileImpl extends CDOObjectImpl implements File {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FileImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.FILE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Artifact getBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.FILE__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Artifact basicGetBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.FILE__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Artifact(Artifact newBase_Artifact) {
+ eDynamicSet(StandardPackage.FILE__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ newBase_Artifact);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.FILE__BASE_ARTIFACT:
+ if (resolve)
+ return getBase_Artifact();
+ return basicGetBase_Artifact();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.FILE__BASE_ARTIFACT:
+ setBase_Artifact((Artifact) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.FILE__BASE_ARTIFACT:
+ setBase_Artifact((Artifact) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.FILE__BASE_ARTIFACT:
+ return basicGetBase_Artifact() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FileImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FocusImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FocusImpl.java
new file mode 100644
index 0000000..55b7b4c
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FocusImpl.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.Focus;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Focus</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.FocusImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FocusImpl extends CDOObjectImpl implements Focus {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FocusImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.FOCUS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.FOCUS__BASE_CLASS,
+ StandardPackage.Literals.FOCUS__BASE_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.FOCUS__BASE_CLASS,
+ StandardPackage.Literals.FOCUS__BASE_CLASS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ eDynamicSet(StandardPackage.FOCUS__BASE_CLASS, StandardPackage.Literals.FOCUS__BASE_CLASS, newBase_Class);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.FOCUS__BASE_CLASS:
+ if (resolve)
+ return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.FOCUS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.FOCUS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.FOCUS__BASE_CLASS:
+ return basicGetBase_Class() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FocusImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FrameworkImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FrameworkImpl.java
new file mode 100644
index 0000000..3727221
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/FrameworkImpl.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.Framework;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Framework</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.FrameworkImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FrameworkImpl extends CDOObjectImpl implements Framework {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FrameworkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.FRAMEWORK;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(StandardPackage.FRAMEWORK__BASE_PACKAGE,
+ StandardPackage.Literals.FRAMEWORK__BASE_PACKAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(StandardPackage.FRAMEWORK__BASE_PACKAGE,
+ StandardPackage.Literals.FRAMEWORK__BASE_PACKAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ eDynamicSet(StandardPackage.FRAMEWORK__BASE_PACKAGE, StandardPackage.Literals.FRAMEWORK__BASE_PACKAGE,
+ newBase_Package);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.FRAMEWORK__BASE_PACKAGE:
+ if (resolve)
+ return getBase_Package();
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.FRAMEWORK__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.FRAMEWORK__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.FRAMEWORK__BASE_PACKAGE:
+ return basicGetBase_Package() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FrameworkImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ImplementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ImplementImpl.java
new file mode 100644
index 0000000..6c25766
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ImplementImpl.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.profile.standard.Implement;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.ImplementOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Implement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ImplementImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ImplementImpl extends CDOObjectImpl implements Implement {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.IMPLEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component getBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.IMPLEMENT__BASE_COMPONENT,
+ StandardPackage.Literals.IMPLEMENT__BASE_COMPONENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component basicGetBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.IMPLEMENT__BASE_COMPONENT,
+ StandardPackage.Literals.IMPLEMENT__BASE_COMPONENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Component(Component newBase_Component) {
+ eDynamicSet(StandardPackage.IMPLEMENT__BASE_COMPONENT, StandardPackage.Literals.IMPLEMENT__BASE_COMPONENT,
+ newBase_Component);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateImplementsSpecification(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ImplementOperations.validateImplementsSpecification(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENT__BASE_COMPONENT:
+ if (resolve)
+ return getBase_Component();
+ return basicGetBase_Component();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENT__BASE_COMPONENT:
+ setBase_Component((Component) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENT__BASE_COMPONENT:
+ setBase_Component((Component) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENT__BASE_COMPONENT:
+ return basicGetBase_Component() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.IMPLEMENT___VALIDATE_IMPLEMENTS_SPECIFICATION__DIAGNOSTICCHAIN_MAP:
+ return validateImplementsSpecification((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ImplementImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ImplementationClassImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ImplementationClassImpl.java
new file mode 100644
index 0000000..19ecaa3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ImplementationClassImpl.java
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.ImplementationClass;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.ImplementationClassOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Implementation Class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ImplementationClassImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ImplementationClassImpl extends CDOObjectImpl implements ImplementationClass {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplementationClassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.IMPLEMENTATION_CLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.IMPLEMENTATION_CLASS__BASE_CLASS,
+ StandardPackage.Literals.IMPLEMENTATION_CLASS__BASE_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.IMPLEMENTATION_CLASS__BASE_CLASS,
+ StandardPackage.Literals.IMPLEMENTATION_CLASS__BASE_CLASS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ eDynamicSet(StandardPackage.IMPLEMENTATION_CLASS__BASE_CLASS,
+ StandardPackage.Literals.IMPLEMENTATION_CLASS__BASE_CLASS, newBase_Class);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotBeRealization(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ImplementationClassOperations.validateCannotBeRealization(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENTATION_CLASS__BASE_CLASS:
+ if (resolve)
+ return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENTATION_CLASS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENTATION_CLASS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.IMPLEMENTATION_CLASS__BASE_CLASS:
+ return basicGetBase_Class() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.IMPLEMENTATION_CLASS___VALIDATE_CANNOT_BE_REALIZATION__DIAGNOSTICCHAIN_MAP:
+ return validateCannotBeRealization((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ImplementationClassImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/InstantiateImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/InstantiateImpl.java
new file mode 100644
index 0000000..da9a6f8
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/InstantiateImpl.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.profile.standard.Instantiate;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.InstantiateOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instantiate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.InstantiateImpl#getBase_Usage <em>Base Usage</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InstantiateImpl extends CDOObjectImpl implements Instantiate {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstantiateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.INSTANTIATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage getBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.INSTANTIATE__BASE_USAGE,
+ StandardPackage.Literals.INSTANTIATE__BASE_USAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage basicGetBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.INSTANTIATE__BASE_USAGE,
+ StandardPackage.Literals.INSTANTIATE__BASE_USAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Usage(Usage newBase_Usage) {
+ eDynamicSet(StandardPackage.INSTANTIATE__BASE_USAGE, StandardPackage.Literals.INSTANTIATE__BASE_USAGE,
+ newBase_Usage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClientAndSupplierAreClassifiers(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return InstantiateOperations.validateClientAndSupplierAreClassifiers(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.INSTANTIATE__BASE_USAGE:
+ if (resolve)
+ return getBase_Usage();
+ return basicGetBase_Usage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.INSTANTIATE__BASE_USAGE:
+ setBase_Usage((Usage) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.INSTANTIATE__BASE_USAGE:
+ setBase_Usage((Usage) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.INSTANTIATE__BASE_USAGE:
+ return basicGetBase_Usage() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.INSTANTIATE___VALIDATE_CLIENT_AND_SUPPLIER_ARE_CLASSIFIERS__DIAGNOSTICCHAIN_MAP:
+ return validateClientAndSupplierAreClassifiers((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //InstantiateImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/LibraryImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/LibraryImpl.java
new file mode 100644
index 0000000..109de62
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/LibraryImpl.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.profile.standard.Library;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Library</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.LibraryImpl#getBase_Artifact <em>Base Artifact</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LibraryImpl extends FileImpl implements Library {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LibraryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.LIBRARY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact getBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.LIBRARY__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact basicGetBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.LIBRARY__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Artifact(Artifact newBase_Artifact) {
+ eDynamicSet(StandardPackage.LIBRARY__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ newBase_Artifact);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_Artifact() {
+ return basicGetBase_Artifact() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.LIBRARY__BASE_ARTIFACT:
+ return isSetBase_Artifact();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LibraryImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/MetaclassImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/MetaclassImpl.java
new file mode 100644
index 0000000..3852527
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/MetaclassImpl.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.Metaclass;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Metaclass</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.MetaclassImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MetaclassImpl extends CDOObjectImpl implements Metaclass {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MetaclassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.METACLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.METACLASS__BASE_CLASS,
+ StandardPackage.Literals.METACLASS__BASE_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.METACLASS__BASE_CLASS,
+ StandardPackage.Literals.METACLASS__BASE_CLASS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ eDynamicSet(StandardPackage.METACLASS__BASE_CLASS, StandardPackage.Literals.METACLASS__BASE_CLASS,
+ newBase_Class);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.METACLASS__BASE_CLASS:
+ if (resolve)
+ return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.METACLASS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.METACLASS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.METACLASS__BASE_CLASS:
+ return basicGetBase_Class() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MetaclassImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/MetamodelImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/MetamodelImpl.java
new file mode 100644
index 0000000..64143f9
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/MetamodelImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.profile.standard.Metamodel;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Metamodel</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.MetamodelImpl#getBase_Model <em>Base Model</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MetamodelImpl extends CDOObjectImpl implements Metamodel {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MetamodelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.METAMODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Model getBase_Model() {
+ return (Model) eDynamicGet(StandardPackage.METAMODEL__BASE_MODEL,
+ StandardPackage.Literals.METAMODEL__BASE_MODEL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Model basicGetBase_Model() {
+ return (Model) eDynamicGet(StandardPackage.METAMODEL__BASE_MODEL,
+ StandardPackage.Literals.METAMODEL__BASE_MODEL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Model(Model newBase_Model) {
+ eDynamicSet(StandardPackage.METAMODEL__BASE_MODEL, StandardPackage.Literals.METAMODEL__BASE_MODEL,
+ newBase_Model);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.METAMODEL__BASE_MODEL:
+ if (resolve)
+ return getBase_Model();
+ return basicGetBase_Model();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.METAMODEL__BASE_MODEL:
+ setBase_Model((Model) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.METAMODEL__BASE_MODEL:
+ setBase_Model((Model) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.METAMODEL__BASE_MODEL:
+ return basicGetBase_Model() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MetamodelImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ModelLibraryImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ModelLibraryImpl.java
new file mode 100644
index 0000000..d0b221d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ModelLibraryImpl.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.ModelLibrary;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model Library</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ModelLibraryImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ModelLibraryImpl extends CDOObjectImpl implements ModelLibrary {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModelLibraryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.MODEL_LIBRARY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(StandardPackage.MODEL_LIBRARY__BASE_PACKAGE,
+ StandardPackage.Literals.MODEL_LIBRARY__BASE_PACKAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return (org.eclipse.uml2.uml.Package) eDynamicGet(StandardPackage.MODEL_LIBRARY__BASE_PACKAGE,
+ StandardPackage.Literals.MODEL_LIBRARY__BASE_PACKAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ eDynamicSet(StandardPackage.MODEL_LIBRARY__BASE_PACKAGE, StandardPackage.Literals.MODEL_LIBRARY__BASE_PACKAGE,
+ newBase_Package);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.MODEL_LIBRARY__BASE_PACKAGE:
+ if (resolve)
+ return getBase_Package();
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.MODEL_LIBRARY__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.MODEL_LIBRARY__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.MODEL_LIBRARY__BASE_PACKAGE:
+ return basicGetBase_Package() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ModelLibraryImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ProcessImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ProcessImpl.java
new file mode 100644
index 0000000..f146291
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ProcessImpl.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Process</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ProcessImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProcessImpl extends CDOObjectImpl implements org.eclipse.uml2.uml.profile.standard.Process {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProcessImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.PROCESS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component getBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.PROCESS__BASE_COMPONENT,
+ StandardPackage.Literals.PROCESS__BASE_COMPONENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component basicGetBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.PROCESS__BASE_COMPONENT,
+ StandardPackage.Literals.PROCESS__BASE_COMPONENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Component(Component newBase_Component) {
+ eDynamicSet(StandardPackage.PROCESS__BASE_COMPONENT, StandardPackage.Literals.PROCESS__BASE_COMPONENT,
+ newBase_Component);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.PROCESS__BASE_COMPONENT:
+ if (resolve)
+ return getBase_Component();
+ return basicGetBase_Component();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.PROCESS__BASE_COMPONENT:
+ setBase_Component((Component) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.PROCESS__BASE_COMPONENT:
+ setBase_Component((Component) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.PROCESS__BASE_COMPONENT:
+ return basicGetBase_Component() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ProcessImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/RealizationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/RealizationImpl.java
new file mode 100644
index 0000000..e944c6a
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/RealizationImpl.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.profile.standard.Realization;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.RealizationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Realization</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.RealizationImpl#getBase_Classifier <em>Base Classifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RealizationImpl extends CDOObjectImpl implements Realization {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RealizationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.REALIZATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getBase_Classifier() {
+ return (Classifier) eDynamicGet(StandardPackage.REALIZATION__BASE_CLASSIFIER,
+ StandardPackage.Literals.REALIZATION__BASE_CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetBase_Classifier() {
+ return (Classifier) eDynamicGet(StandardPackage.REALIZATION__BASE_CLASSIFIER,
+ StandardPackage.Literals.REALIZATION__BASE_CLASSIFIER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Classifier(Classifier newBase_Classifier) {
+ eDynamicSet(StandardPackage.REALIZATION__BASE_CLASSIFIER, StandardPackage.Literals.REALIZATION__BASE_CLASSIFIER,
+ newBase_Classifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotBeImplementationClass(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return RealizationOperations.validateCannotBeImplementationClass(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.REALIZATION__BASE_CLASSIFIER:
+ if (resolve)
+ return getBase_Classifier();
+ return basicGetBase_Classifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.REALIZATION__BASE_CLASSIFIER:
+ setBase_Classifier((Classifier) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.REALIZATION__BASE_CLASSIFIER:
+ setBase_Classifier((Classifier) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.REALIZATION__BASE_CLASSIFIER:
+ return basicGetBase_Classifier() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.REALIZATION___VALIDATE_CANNOT_BE_IMPLEMENTATION_CLASS__DIAGNOSTICCHAIN_MAP:
+ return validateCannotBeImplementationClass((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //RealizationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/RefineImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/RefineImpl.java
new file mode 100644
index 0000000..14393d5
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/RefineImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.profile.standard.Refine;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Refine</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.RefineImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RefineImpl extends CDOObjectImpl implements Refine {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefineImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.REFINE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction getBase_Abstraction() {
+ return (Abstraction) eDynamicGet(StandardPackage.REFINE__BASE_ABSTRACTION,
+ StandardPackage.Literals.REFINE__BASE_ABSTRACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return (Abstraction) eDynamicGet(StandardPackage.REFINE__BASE_ABSTRACTION,
+ StandardPackage.Literals.REFINE__BASE_ABSTRACTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+ eDynamicSet(StandardPackage.REFINE__BASE_ABSTRACTION, StandardPackage.Literals.REFINE__BASE_ABSTRACTION,
+ newBase_Abstraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.REFINE__BASE_ABSTRACTION:
+ if (resolve)
+ return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.REFINE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.REFINE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.REFINE__BASE_ABSTRACTION:
+ return basicGetBase_Abstraction() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RefineImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ResponsibilityImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ResponsibilityImpl.java
new file mode 100644
index 0000000..943fca5
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ResponsibilityImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.profile.standard.Responsibility;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Responsibility</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ResponsibilityImpl#getBase_Usage <em>Base Usage</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ResponsibilityImpl extends CDOObjectImpl implements Responsibility {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResponsibilityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.RESPONSIBILITY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage getBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.RESPONSIBILITY__BASE_USAGE,
+ StandardPackage.Literals.RESPONSIBILITY__BASE_USAGE, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage basicGetBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.RESPONSIBILITY__BASE_USAGE,
+ StandardPackage.Literals.RESPONSIBILITY__BASE_USAGE, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Usage(Usage newBase_Usage) {
+ eDynamicSet(StandardPackage.RESPONSIBILITY__BASE_USAGE, StandardPackage.Literals.RESPONSIBILITY__BASE_USAGE,
+ newBase_Usage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.RESPONSIBILITY__BASE_USAGE:
+ if (resolve)
+ return getBase_Usage();
+ return basicGetBase_Usage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.RESPONSIBILITY__BASE_USAGE:
+ setBase_Usage((Usage) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.RESPONSIBILITY__BASE_USAGE:
+ setBase_Usage((Usage) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.RESPONSIBILITY__BASE_USAGE:
+ return basicGetBase_Usage() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ResponsibilityImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ScriptImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ScriptImpl.java
new file mode 100644
index 0000000..b76533e
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ScriptImpl.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.profile.standard.Script;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Script</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ScriptImpl#getBase_Artifact <em>Base Artifact</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ScriptImpl extends FileImpl implements Script {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ScriptImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.SCRIPT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact getBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.SCRIPT__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact basicGetBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.SCRIPT__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Artifact(Artifact newBase_Artifact) {
+ eDynamicSet(StandardPackage.SCRIPT__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ newBase_Artifact);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_Artifact() {
+ return basicGetBase_Artifact() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SCRIPT__BASE_ARTIFACT:
+ return isSetBase_Artifact();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ScriptImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SendImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SendImpl.java
new file mode 100644
index 0000000..b504c51
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SendImpl.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Usage;
+import org.eclipse.uml2.uml.profile.standard.Send;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.SendOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Send</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.SendImpl#getBase_Usage <em>Base Usage</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SendImpl extends CDOObjectImpl implements Send {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.SEND;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage getBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.SEND__BASE_USAGE, StandardPackage.Literals.SEND__BASE_USAGE, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Usage basicGetBase_Usage() {
+ return (Usage) eDynamicGet(StandardPackage.SEND__BASE_USAGE, StandardPackage.Literals.SEND__BASE_USAGE, false,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Usage(Usage newBase_Usage) {
+ eDynamicSet(StandardPackage.SEND__BASE_USAGE, StandardPackage.Literals.SEND__BASE_USAGE, newBase_Usage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateClientOperationSendsSupplierSignal(DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ return SendOperations.validateClientOperationSendsSupplierSignal(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.SEND__BASE_USAGE:
+ if (resolve)
+ return getBase_Usage();
+ return basicGetBase_Usage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.SEND__BASE_USAGE:
+ setBase_Usage((Usage) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SEND__BASE_USAGE:
+ setBase_Usage((Usage) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SEND__BASE_USAGE:
+ return basicGetBase_Usage() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.SEND___VALIDATE_CLIENT_OPERATION_SENDS_SUPPLIER_SIGNAL__DIAGNOSTICCHAIN_MAP:
+ return validateClientOperationSendsSupplierSignal((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //SendImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ServiceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ServiceImpl.java
new file mode 100644
index 0000000..75dd2b3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/ServiceImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.profile.standard.Service;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.ServiceImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ServiceImpl extends CDOObjectImpl implements Service {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component getBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.SERVICE__BASE_COMPONENT,
+ StandardPackage.Literals.SERVICE__BASE_COMPONENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component basicGetBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.SERVICE__BASE_COMPONENT,
+ StandardPackage.Literals.SERVICE__BASE_COMPONENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Component(Component newBase_Component) {
+ eDynamicSet(StandardPackage.SERVICE__BASE_COMPONENT, StandardPackage.Literals.SERVICE__BASE_COMPONENT,
+ newBase_Component);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.SERVICE__BASE_COMPONENT:
+ if (resolve)
+ return getBase_Component();
+ return basicGetBase_Component();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.SERVICE__BASE_COMPONENT:
+ setBase_Component((Component) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SERVICE__BASE_COMPONENT:
+ setBase_Component((Component) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SERVICE__BASE_COMPONENT:
+ return basicGetBase_Component() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ServiceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SourceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SourceImpl.java
new file mode 100644
index 0000000..6ffa603
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SourceImpl.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.uml2.uml.Artifact;
+import org.eclipse.uml2.uml.profile.standard.Source;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Source</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.SourceImpl#getBase_Artifact <em>Base Artifact</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SourceImpl extends FileImpl implements Source {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.SOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact getBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.SOURCE__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Artifact basicGetBase_Artifact() {
+ return (Artifact) eDynamicGet(StandardPackage.SOURCE__BASE_ARTIFACT,
+ StandardPackage.Literals.FILE__BASE_ARTIFACT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Artifact(Artifact newBase_Artifact) {
+ eDynamicSet(StandardPackage.SOURCE__BASE_ARTIFACT, StandardPackage.Literals.FILE__BASE_ARTIFACT,
+ newBase_Artifact);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetBase_Artifact() {
+ return basicGetBase_Artifact() != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SOURCE__BASE_ARTIFACT:
+ return isSetBase_Artifact();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SourceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SpecificationImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SpecificationImpl.java
new file mode 100644
index 0000000..be8bb6f
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SpecificationImpl.java
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.profile.standard.Specification;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.SpecificationOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.SpecificationImpl#getBase_Classifier <em>Base Classifier</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SpecificationImpl extends CDOObjectImpl implements Specification {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getBase_Classifier() {
+ return (Classifier) eDynamicGet(StandardPackage.SPECIFICATION__BASE_CLASSIFIER,
+ StandardPackage.Literals.SPECIFICATION__BASE_CLASSIFIER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetBase_Classifier() {
+ return (Classifier) eDynamicGet(StandardPackage.SPECIFICATION__BASE_CLASSIFIER,
+ StandardPackage.Literals.SPECIFICATION__BASE_CLASSIFIER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Classifier(Classifier newBase_Classifier) {
+ eDynamicSet(StandardPackage.SPECIFICATION__BASE_CLASSIFIER,
+ StandardPackage.Literals.SPECIFICATION__BASE_CLASSIFIER, newBase_Classifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotBeType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return SpecificationOperations.validateCannotBeType(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.SPECIFICATION__BASE_CLASSIFIER:
+ if (resolve)
+ return getBase_Classifier();
+ return basicGetBase_Classifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.SPECIFICATION__BASE_CLASSIFIER:
+ setBase_Classifier((Classifier) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SPECIFICATION__BASE_CLASSIFIER:
+ setBase_Classifier((Classifier) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SPECIFICATION__BASE_CLASSIFIER:
+ return basicGetBase_Classifier() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.SPECIFICATION___VALIDATE_CANNOT_BE_TYPE__DIAGNOSTICCHAIN_MAP:
+ return validateCannotBeType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //SpecificationImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/StandardFactoryImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/StandardFactoryImpl.java
new file mode 100644
index 0000000..6b385d0
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/StandardFactoryImpl.java
@@ -0,0 +1,508 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.uml2.uml.profile.standard.Auxiliary;
+import org.eclipse.uml2.uml.profile.standard.BuildComponent;
+import org.eclipse.uml2.uml.profile.standard.Call;
+import org.eclipse.uml2.uml.profile.standard.Create;
+import org.eclipse.uml2.uml.profile.standard.Derive;
+import org.eclipse.uml2.uml.profile.standard.Destroy;
+import org.eclipse.uml2.uml.profile.standard.Document;
+import org.eclipse.uml2.uml.profile.standard.Entity;
+import org.eclipse.uml2.uml.profile.standard.Executable;
+import org.eclipse.uml2.uml.profile.standard.Focus;
+import org.eclipse.uml2.uml.profile.standard.Framework;
+import org.eclipse.uml2.uml.profile.standard.Implement;
+import org.eclipse.uml2.uml.profile.standard.ImplementationClass;
+import org.eclipse.uml2.uml.profile.standard.Instantiate;
+import org.eclipse.uml2.uml.profile.standard.Library;
+import org.eclipse.uml2.uml.profile.standard.Metaclass;
+import org.eclipse.uml2.uml.profile.standard.Metamodel;
+import org.eclipse.uml2.uml.profile.standard.ModelLibrary;
+import org.eclipse.uml2.uml.profile.standard.Realization;
+import org.eclipse.uml2.uml.profile.standard.Refine;
+import org.eclipse.uml2.uml.profile.standard.Responsibility;
+import org.eclipse.uml2.uml.profile.standard.Script;
+import org.eclipse.uml2.uml.profile.standard.Send;
+import org.eclipse.uml2.uml.profile.standard.Service;
+import org.eclipse.uml2.uml.profile.standard.Source;
+import org.eclipse.uml2.uml.profile.standard.Specification;
+import org.eclipse.uml2.uml.profile.standard.StandardFactory;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.Subsystem;
+import org.eclipse.uml2.uml.profile.standard.SystemModel;
+import org.eclipse.uml2.uml.profile.standard.Trace;
+import org.eclipse.uml2.uml.profile.standard.Type;
+import org.eclipse.uml2.uml.profile.standard.Utility;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StandardFactoryImpl extends EFactoryImpl implements StandardFactory {
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StandardFactory init() {
+ try {
+ StandardFactory theStandardFactory = (StandardFactory) EPackage.Registry.INSTANCE
+ .getEFactory(StandardPackage.eNS_URI);
+ if (theStandardFactory != null) {
+ return theStandardFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new StandardFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StandardFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case StandardPackage.AUXILIARY:
+ return (EObject) createAuxiliary();
+ case StandardPackage.CALL:
+ return (EObject) createCall();
+ case StandardPackage.CREATE:
+ return (EObject) createCreate();
+ case StandardPackage.DERIVE:
+ return (EObject) createDerive();
+ case StandardPackage.DESTROY:
+ return (EObject) createDestroy();
+ case StandardPackage.DOCUMENT:
+ return (EObject) createDocument();
+ case StandardPackage.ENTITY:
+ return (EObject) createEntity();
+ case StandardPackage.EXECUTABLE:
+ return (EObject) createExecutable();
+ case StandardPackage.FOCUS:
+ return (EObject) createFocus();
+ case StandardPackage.FRAMEWORK:
+ return (EObject) createFramework();
+ case StandardPackage.IMPLEMENT:
+ return (EObject) createImplement();
+ case StandardPackage.IMPLEMENTATION_CLASS:
+ return (EObject) createImplementationClass();
+ case StandardPackage.INSTANTIATE:
+ return (EObject) createInstantiate();
+ case StandardPackage.LIBRARY:
+ return (EObject) createLibrary();
+ case StandardPackage.METACLASS:
+ return (EObject) createMetaclass();
+ case StandardPackage.MODEL_LIBRARY:
+ return (EObject) createModelLibrary();
+ case StandardPackage.PROCESS:
+ return (EObject) createProcess();
+ case StandardPackage.REALIZATION:
+ return (EObject) createRealization();
+ case StandardPackage.REFINE:
+ return (EObject) createRefine();
+ case StandardPackage.RESPONSIBILITY:
+ return (EObject) createResponsibility();
+ case StandardPackage.SCRIPT:
+ return (EObject) createScript();
+ case StandardPackage.SEND:
+ return (EObject) createSend();
+ case StandardPackage.SERVICE:
+ return (EObject) createService();
+ case StandardPackage.SOURCE:
+ return (EObject) createSource();
+ case StandardPackage.SPECIFICATION:
+ return (EObject) createSpecification();
+ case StandardPackage.SUBSYSTEM:
+ return (EObject) createSubsystem();
+ case StandardPackage.TRACE:
+ return (EObject) createTrace();
+ case StandardPackage.TYPE:
+ return (EObject) createType();
+ case StandardPackage.UTILITY:
+ return (EObject) createUtility();
+ case StandardPackage.BUILD_COMPONENT:
+ return (EObject) createBuildComponent();
+ case StandardPackage.METAMODEL:
+ return (EObject) createMetamodel();
+ case StandardPackage.SYSTEM_MODEL:
+ return (EObject) createSystemModel();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Auxiliary createAuxiliary() {
+ AuxiliaryImpl auxiliary = new AuxiliaryImpl();
+ return auxiliary;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Call createCall() {
+ CallImpl call = new CallImpl();
+ return call;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Create createCreate() {
+ CreateImpl create = new CreateImpl();
+ return create;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Derive createDerive() {
+ DeriveImpl derive = new DeriveImpl();
+ return derive;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Destroy createDestroy() {
+ DestroyImpl destroy = new DestroyImpl();
+ return destroy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Document createDocument() {
+ DocumentImpl document = new DocumentImpl();
+ return document;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Entity createEntity() {
+ EntityImpl entity = new EntityImpl();
+ return entity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Executable createExecutable() {
+ ExecutableImpl executable = new ExecutableImpl();
+ return executable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Focus createFocus() {
+ FocusImpl focus = new FocusImpl();
+ return focus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Framework createFramework() {
+ FrameworkImpl framework = new FrameworkImpl();
+ return framework;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implement createImplement() {
+ ImplementImpl implement = new ImplementImpl();
+ return implement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplementationClass createImplementationClass() {
+ ImplementationClassImpl implementationClass = new ImplementationClassImpl();
+ return implementationClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Instantiate createInstantiate() {
+ InstantiateImpl instantiate = new InstantiateImpl();
+ return instantiate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Library createLibrary() {
+ LibraryImpl library = new LibraryImpl();
+ return library;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Metaclass createMetaclass() {
+ MetaclassImpl metaclass = new MetaclassImpl();
+ return metaclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelLibrary createModelLibrary() {
+ ModelLibraryImpl modelLibrary = new ModelLibraryImpl();
+ return modelLibrary;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.profile.standard.Process createProcess() {
+ ProcessImpl process = new ProcessImpl();
+ return process;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Realization createRealization() {
+ RealizationImpl realization = new RealizationImpl();
+ return realization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Refine createRefine() {
+ RefineImpl refine = new RefineImpl();
+ return refine;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Responsibility createResponsibility() {
+ ResponsibilityImpl responsibility = new ResponsibilityImpl();
+ return responsibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Script createScript() {
+ ScriptImpl script = new ScriptImpl();
+ return script;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Send createSend() {
+ SendImpl send = new SendImpl();
+ return send;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Service createService() {
+ ServiceImpl service = new ServiceImpl();
+ return service;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Source createSource() {
+ SourceImpl source = new SourceImpl();
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Specification createSpecification() {
+ SpecificationImpl specification = new SpecificationImpl();
+ return specification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Subsystem createSubsystem() {
+ SubsystemImpl subsystem = new SubsystemImpl();
+ return subsystem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Trace createTrace() {
+ TraceImpl trace = new TraceImpl();
+ return trace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Type createType() {
+ TypeImpl type = new TypeImpl();
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Utility createUtility() {
+ UtilityImpl utility = new UtilityImpl();
+ return utility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BuildComponent createBuildComponent() {
+ BuildComponentImpl buildComponent = new BuildComponentImpl();
+ return buildComponent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Metamodel createMetamodel() {
+ MetamodelImpl metamodel = new MetamodelImpl();
+ return metamodel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemModel createSystemModel() {
+ SystemModelImpl systemModel = new SystemModelImpl();
+ return systemModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StandardPackage getStandardPackage() {
+ return (StandardPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static StandardPackage getPackage() {
+ return StandardPackage.eINSTANCE;
+ }
+
+} //StandardFactoryImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SubsystemImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SubsystemImpl.java
new file mode 100644
index 0000000..fa790fd
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SubsystemImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.Subsystem;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Subsystem</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.SubsystemImpl#getBase_Component <em>Base Component</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SubsystemImpl extends CDOObjectImpl implements Subsystem {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SubsystemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.SUBSYSTEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component getBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.SUBSYSTEM__BASE_COMPONENT,
+ StandardPackage.Literals.SUBSYSTEM__BASE_COMPONENT, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Component basicGetBase_Component() {
+ return (Component) eDynamicGet(StandardPackage.SUBSYSTEM__BASE_COMPONENT,
+ StandardPackage.Literals.SUBSYSTEM__BASE_COMPONENT, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Component(Component newBase_Component) {
+ eDynamicSet(StandardPackage.SUBSYSTEM__BASE_COMPONENT, StandardPackage.Literals.SUBSYSTEM__BASE_COMPONENT,
+ newBase_Component);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.SUBSYSTEM__BASE_COMPONENT:
+ if (resolve)
+ return getBase_Component();
+ return basicGetBase_Component();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.SUBSYSTEM__BASE_COMPONENT:
+ setBase_Component((Component) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SUBSYSTEM__BASE_COMPONENT:
+ setBase_Component((Component) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SUBSYSTEM__BASE_COMPONENT:
+ return basicGetBase_Component() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SubsystemImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SystemModelImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SystemModelImpl.java
new file mode 100644
index 0000000..12c4016
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/SystemModelImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.SystemModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>System Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.SystemModelImpl#getBase_Model <em>Base Model</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SystemModelImpl extends CDOObjectImpl implements SystemModel {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SystemModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.SYSTEM_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Model getBase_Model() {
+ return (Model) eDynamicGet(StandardPackage.SYSTEM_MODEL__BASE_MODEL,
+ StandardPackage.Literals.SYSTEM_MODEL__BASE_MODEL, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Model basicGetBase_Model() {
+ return (Model) eDynamicGet(StandardPackage.SYSTEM_MODEL__BASE_MODEL,
+ StandardPackage.Literals.SYSTEM_MODEL__BASE_MODEL, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Model(Model newBase_Model) {
+ eDynamicSet(StandardPackage.SYSTEM_MODEL__BASE_MODEL, StandardPackage.Literals.SYSTEM_MODEL__BASE_MODEL,
+ newBase_Model);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.SYSTEM_MODEL__BASE_MODEL:
+ if (resolve)
+ return getBase_Model();
+ return basicGetBase_Model();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.SYSTEM_MODEL__BASE_MODEL:
+ setBase_Model((Model) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SYSTEM_MODEL__BASE_MODEL:
+ setBase_Model((Model) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.SYSTEM_MODEL__BASE_MODEL:
+ return basicGetBase_Model() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SystemModelImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/TraceImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/TraceImpl.java
new file mode 100644
index 0000000..14184b3
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/TraceImpl.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.Trace;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Trace</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.TraceImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TraceImpl extends CDOObjectImpl implements Trace {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TraceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.TRACE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction getBase_Abstraction() {
+ return (Abstraction) eDynamicGet(StandardPackage.TRACE__BASE_ABSTRACTION,
+ StandardPackage.Literals.TRACE__BASE_ABSTRACTION, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return (Abstraction) eDynamicGet(StandardPackage.TRACE__BASE_ABSTRACTION,
+ StandardPackage.Literals.TRACE__BASE_ABSTRACTION, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+ eDynamicSet(StandardPackage.TRACE__BASE_ABSTRACTION, StandardPackage.Literals.TRACE__BASE_ABSTRACTION,
+ newBase_Abstraction);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.TRACE__BASE_ABSTRACTION:
+ if (resolve)
+ return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.TRACE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.TRACE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.TRACE__BASE_ABSTRACTION:
+ return basicGetBase_Abstraction() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TraceImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/TypeImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/TypeImpl.java
new file mode 100644
index 0000000..aa99a57
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/TypeImpl.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.Type;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.TypeOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.TypeImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TypeImpl extends CDOObjectImpl implements Type {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.TYPE__BASE_CLASS,
+ StandardPackage.Literals.TYPE__BASE_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.TYPE__BASE_CLASS,
+ StandardPackage.Literals.TYPE__BASE_CLASS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ eDynamicSet(StandardPackage.TYPE__BASE_CLASS, StandardPackage.Literals.TYPE__BASE_CLASS, newBase_Class);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCannotBeSpecification(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return TypeOperations.validateCannotBeSpecification(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.TYPE__BASE_CLASS:
+ if (resolve)
+ return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.TYPE__BASE_CLASS:
+ return basicGetBase_Class() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.TYPE___VALIDATE_CANNOT_BE_SPECIFICATION__DIAGNOSTICCHAIN_MAP:
+ return validateCannotBeSpecification((DiagnosticChain) arguments.get(0),
+ (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //TypeImpl
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/UtilityImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/UtilityImpl.java
new file mode 100644
index 0000000..0b7d10d
--- /dev/null
+++ b/cdo/bundles/uml/org.eclipse.uml2.uml.profile.standard.cdo/src/org/eclipse/uml2/uml/profile/standard/cdo/UtilityImpl.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2014, 2018 CEA and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * Kenn Hussey (CEA) - initial API and implementation
+ * Kenn Hussey (CEA) - 451350
+ * Kenn Hussey - 535301
+ *
+ */
+package org.eclipse.uml2.uml.profile.standard.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.Utility;
+import org.eclipse.uml2.uml.profile.standard.internal.operations.UtilityOperations;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Utility</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.uml2.uml.profile.standard.cdo.UtilityImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class UtilityImpl extends CDOObjectImpl implements Utility {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UtilityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StandardPackage.Literals.UTILITY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.UTILITY__BASE_CLASS,
+ StandardPackage.Literals.UTILITY__BASE_CLASS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return (org.eclipse.uml2.uml.Class) eDynamicGet(StandardPackage.UTILITY__BASE_CLASS,
+ StandardPackage.Literals.UTILITY__BASE_CLASS, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ eDynamicSet(StandardPackage.UTILITY__BASE_CLASS, StandardPackage.Literals.UTILITY__BASE_CLASS, newBase_Class);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIsUtility(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return UtilityOperations.validateIsUtility(this, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StandardPackage.UTILITY__BASE_CLASS:
+ if (resolve)
+ return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StandardPackage.UTILITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StandardPackage.UTILITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StandardPackage.UTILITY__BASE_CLASS:
+ return basicGetBase_Class() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case StandardPackage.UTILITY___VALIDATE_IS_UTILITY__DIAGNOSTICCHAIN_MAP:
+ return validateIsUtility((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //UtilityImpl
diff --git a/cdo/bundles/uml/pom.xml b/cdo/bundles/uml/pom.xml
index 437fca6..0acf89d 100755
--- a/cdo/bundles/uml/pom.xml
+++ b/cdo/bundles/uml/pom.xml
@@ -14,6 +14,7 @@
<modules>
<module>org.eclipse.uml2.uml.cdo</module>
+ <module>org.eclipse.uml2.uml.profile.standard.cdo</module>
</modules>
<packaging>pom</packaging>
diff --git a/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml b/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml
index 955d136..dc1d2b5 100755
--- a/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml
+++ b/cdo/features/org.eclipse.papyrus.cdo.models.feature/feature.xml
@@ -56,4 +56,26 @@
install-size="0"
version="0.0.0"
unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.infra.core.architecture.cdo"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.infra.nattable.model.cdo"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.uml2.uml.profile.standard.cdo"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>