vainolo$object-process-programming
OPPObjectInstance value
if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
    compositeValues.put(newKey, value);
    compositeKeyToIndexMapping.put(UUID.randomUUID().toString(), newKey);
  public void setPart(String name, OPPObjectInstance value) {
    checkTypeForCompositeOnlyOperations();
    if (compositeKeyToIndexMapping.containsKey(name)) {
      compositeValues.remove(compositeKeyToIndexMapping.get(name));
      compositeKeyToIndexMapping.remove(name);
    int lastKey = 0;
    if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
void
void addLastPart(OPPObjectInstance value)
OPPObjectInstance value
checkTypeForCollectionOnlyOperations();
    if(collectionValues.size() > 0) {
      lastKey = collectionValues.lastKey();
    collectionValues.put(newKey, value);
    collectionNameToIndexMapping.put(UUID.randomUUID().toString(), newKey);
    return newKey;
  public void putCollectionElement(String name, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    if(collectionNameToIndexMapping.containsKey(name)) {
      collectionValues.remove(collectionNameToIndexMapping.get(name));
      collectionNameToIndexMapping.remove(name);
    int index = appendCollectionElement(value);
    collectionNameToIndexMapping.inverse().remove(index);
    collectionNameToIndexMapping.put(name, index);
  public void putCollectionElementAtIndex(int index, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    checkNotNull(value, "Cannot insert a null element to a collection.");
    if(collectionValues.containsKey(index)) {
      collectionValues.remove(index);
      collectionNameToIndexMapping.inverse().remove(index);
int
int appendCollectionElement(OPPObjectInstance value)
vainolo$object-process-programming
Collection<OPPObjectInstance>
Collection<OPPObjectInstance> getAllParts()
Collection<OPPObjectInstance>
Collection<OPPObjectInstance> getCollectionAllElements()
vainolo$object-process-programming
Set<String>
Set<String> getAllPartIndexes()
Set<String>
Set<String> getCollectionAllIndexes()
vainolo$object-process-programming
String key
checkTypeForCompositeOnlyOperations();
    checkState((key != null) && (!"".equals(key)), "Key cannot be null or empty.");
    return compositeValues.get(compositeKeyToIndexMapping.get(key));
OPPObjectInstance
OPPObjectInstance getPart(String key)
String name
checkTypeForCollectionOnlyOperations();
    checkState((name != null) && !("".equals(name)), "Named location of element must not be null or empty.");
    checkState(collectionNameToIndexMapping.containsKey(name), "Collection does contain a value at index %s.", name);
    return collectionValues.get(collectionNameToIndexMapping.get(name));
  public OPPObjectInstance getCollectionElementAtIndex(int index) {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(index);
  public OPPObjectInstance getCollectionFirstElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.firstKey());
  public OPPObjectInstance getLastCollectionElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.lastKey());
  public Collection<OPPObjectInstance> getCollectionAllElements() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableCollection(collectionValues.values());
  public Set<String> getCollectionAllIndexes() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableSet(collectionNameToIndexMapping.keySet());
    if(InstanceType.STRING.equals(type) || InstanceType.NUMERICAL.equals(type))
    else if(InstanceType.COMPOSITE.equals(type)) {
      for(String partName : parts.keySet()) {
        ret.append(partName + ":" + parts.get(partName) + ",");
OPPObjectInstance
OPPObjectInstance getCollectionElement(String name)
vainolo$object-process-programming
OPPObjectInstance
OPPObjectInstance getLastPart()
int index
OPPObjectInstance
OPPObjectInstance getCollectionElementAtIndex(int index)
vainolo$object-process-programming
OPPObjectInstance
OPPObjectInstance getFirstPart()
OPPObjectInstance
OPPObjectInstance getCollectionFirstElement()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getIncomingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getIncomingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
List<OPPParameter>
List<OPPParameter> getOutgoingParameters()
List<OPPParameter>
List<OPPParameter> getOutgoingParameterNames()
vainolo$object-process-programming
String name,OPPObjectInstance value
void
void setPart(String name,OPPObjectInstance value)
String name,OPPObjectInstance value
void
void putCollectionElement(String name,OPPObjectInstance value)
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2F.settings%2Forg.eclipse.jdt.core.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.editor%2F.settings%2Forg.eclipse.jdt.core.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.editor/.settings/org.eclipse.jdt.core.prefs
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_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=80
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=2
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_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_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_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=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
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=120
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=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2
org.eclipse.jdt.core.formatter.use_on_off_tags=true
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

@@ -94,283 +94,3 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.8
-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_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=80
-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=2
-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_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_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_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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-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=120
-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=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-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

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2F.settings%2Forg.eclipse.jdt.core.prefs
1a2bf2d5c84f8f4a1f477716d43d5a902b24f128
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2F.settings%2Forg.eclipse.jdt.ui.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.editor%2F.settings%2Forg.eclipse.jdt.ui.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.editor/.settings/org.eclipse.jdt.ui.prefs
formatter_profile=_Vainolo

@@ -1,6 +1,5 @@
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Vainolo
 formatter_settings_version=12
 org.eclipse.jdt.ui.ignorelowercasenames=true
 org.eclipse.jdt.ui.importorder=java;javax;org;com;\#org.mockito.Mockito;\#org.junit.Assert;\#;

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2F.settings%2Forg.eclipse.jdt.ui.prefs
88ded1e13b5548717f754cf768918e466a9f94b2
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2FOPPGraphicalEditor.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2FOPPGraphicalEditor.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.editor/src/com/vainolo/phd/opp/editor/OPPGraphicalEditor.java
    getGraphicalViewer().setContextMenu(new OPPGraphicalEditorContextMenuProvider(getGraphicalViewer(), getActionRegistry()));
    getEditDomain().getPaletteViewer().addDragSourceListener(new TemplateTransferDragSourceListener(getEditDomain().getPaletteViewer()));
    keyHandler.put(KeyStroke.getPressed(SWT.F3, 0), getActionRegistry().getAction(OPPResizeToContentsAction.RESIZE_TO_CONTENTS_ID));
    if (palette == null)
    } catch (Exception e) {
    if (input instanceof IFileEditorInput) {
      if (opd == null) {
    action = new OPPToggledProceduralLinkSubkindAction(this, OPPToggledProceduralLinkSubkindAction.CONDITIONAL_SUBKIND_ID);
    if (type.equals(IPropertySheetPage.class)) {
      if (propertyPage == null) {
          IPropertySourceProvider modelPropertySourceProvider = new AdapterFactoryContentProvider(new OPPItemProviderAdapterFactory());
            if (object instanceof EditPart) {
            if (source != null) {
    } else if (type == ZoomManager.class) {
      if (value instanceof PropertyValueWrapper) {
      if (value instanceof PropertyValueWrapper) {

    getGraphicalViewer().setContextMenu(
        new OPPGraphicalEditorContextMenuProvider(getGraphicalViewer(), getActionRegistry()));
    getEditDomain().getPaletteViewer().addDragSourceListener(
        new TemplateTransferDragSourceListener(getEditDomain().getPaletteViewer()));
    keyHandler.put(KeyStroke.getPressed(SWT.F3, 0),
        getActionRegistry().getAction(OPPResizeToContentsAction.RESIZE_TO_CONTENTS_ID));
    if(palette == null)
    } catch(Exception e) {
    if(input instanceof IFileEditorInput) {
      if(opd == null) {
      // if(opd.getId() == 0) {
      // opd.setId(1);
      // opd.setLastKnownUsedId(2);
      // }
      // OPMIdManager.setInitialId(opd.getNextId());
    action = new OPPToggledProceduralLinkSubkindAction(this,
        OPPToggledProceduralLinkSubkindAction.CONDITIONAL_SUBKIND_ID);
    if(type.equals(IPropertySheetPage.class)) {
      if(propertyPage == null) {
          IPropertySourceProvider modelPropertySourceProvider = new AdapterFactoryContentProvider(
              new OPPItemProviderAdapterFactory());
            if(object instanceof EditPart) {
            if(source != null) {
    } else if(type == ZoomManager.class) {
      if(value instanceof PropertyValueWrapper) {
      if(value instanceof PropertyValueWrapper) {

@@ -85,14 +85,12 @@ protected void configureGraphicalViewer() {
     getGraphicalViewer().setEditPartFactory(new OPPEditPartFactory());
     getActionRegistry().registerAction(new ToggleGridAction(getGraphicalViewer()));
     getActionRegistry().registerAction(new ToggleSnapToGeometryAction(getGraphicalViewer()));
-    getGraphicalViewer().setContextMenu(
-        new OPPGraphicalEditorContextMenuProvider(getGraphicalViewer(), getActionRegistry()));
+    getGraphicalViewer().setContextMenu(new OPPGraphicalEditorContextMenuProvider(getGraphicalViewer(), getActionRegistry()));
     configureKeyboardShortcuts();
 
     // D&D
     getGraphicalViewer().addDropTargetListener(new TemplateTransferDropTargetListener(getGraphicalViewer()));
-    getEditDomain().getPaletteViewer().addDragSourceListener(
-        new TemplateTransferDragSourceListener(getEditDomain().getPaletteViewer()));
+    getEditDomain().getPaletteViewer().addDragSourceListener(new TemplateTransferDragSourceListener(getEditDomain().getPaletteViewer()));
     // end D&D
 
     // start zoom
@@ -115,15 +113,14 @@ protected void configureGraphicalViewer() {
   private void configureKeyboardShortcuts() {
     GraphicalViewerKeyHandler keyHandler = new GraphicalViewerKeyHandler(getGraphicalViewer());
     keyHandler.put(KeyStroke.getPressed(SWT.F2, 0), getActionRegistry().getAction(GEFActionConstants.OPEN_EXT));
-    keyHandler.put(KeyStroke.getPressed(SWT.F3, 0),
-        getActionRegistry().getAction(OPPResizeToContentsAction.RESIZE_TO_CONTENTS_ID));
+    keyHandler.put(KeyStroke.getPressed(SWT.F3, 0), getActionRegistry().getAction(OPPResizeToContentsAction.RESIZE_TO_CONTENTS_ID));
     getGraphicalViewer().setKeyHandler(keyHandler);
 
   }
 
   @Override
   protected PaletteRoot getPaletteRoot() {
-    if(palette == null)
+    if (palette == null)
       palette = new OPPGraphicalEditorPalette(idManager);
     return palette;
   }
@@ -144,7 +141,7 @@ public void doSave(IProgressMonitor monitor) {
       opd.eResource().save(null);
       opdFile.touch(null);
       getCommandStack().markSaveLocation();
-    } catch(Exception e) {
+    } catch (Exception e) {
       throw new RuntimeException(e);
     }
   }
@@ -160,20 +157,15 @@ private void loadInput(IEditorInput input) {
     OPPPackage.eINSTANCE.eClass(); // This initializes the OPMPackage
                                    // singleton implementation. Must be called
                                    // before reading the file.
-    if(input instanceof IFileEditorInput) {
+    if (input instanceof IFileEditorInput) {
 
       IFileEditorInput fileInput = (IFileEditorInput) input;
       opdFile = fileInput.getFile();
       opd = OPPFileUtils.loadOPPFile(opdFile.getLocationURI().toString());
-      if(opd == null) {
+      if (opd == null) {
         throw new RuntimeException("Could not load OPD file " + opdFile.getLocationURI().toString());
       }
       idManager.setInitialId(opd.getLastKnownUsedId());
-      // if(opd.getId() == 0) {
-      // opd.setId(1);
-      // opd.setLastKnownUsedId(2);
-      // }
-      // OPMIdManager.setInitialId(opd.getNextId());
     }
   }
 
@@ -190,8 +182,7 @@ protected void createActions() {
     getActionRegistry().registerAction(action);
     getSelectionActions().add(action.getId());
 
-    action = new OPPToggledProceduralLinkSubkindAction(this,
-        OPPToggledProceduralLinkSubkindAction.CONDITIONAL_SUBKIND_ID);
+    action = new OPPToggledProceduralLinkSubkindAction(this, OPPToggledProceduralLinkSubkindAction.CONDITIONAL_SUBKIND_ID);
     getActionRegistry().registerAction(action);
     getSelectionActions().add(action.getId());
 
@@ -254,8 +245,8 @@ public void commandStackChanged(EventObject event) {
    */
   @Override
   public Object getAdapter(@SuppressWarnings("rawtypes") Class type) {
-    if(type.equals(IPropertySheetPage.class)) {
-      if(propertyPage == null) {
+    if (type.equals(IPropertySheetPage.class)) {
+      if (propertyPage == null) {
         propertyPage = (UndoablePropertySheetPage) super.getAdapter(type);
         // A new PropertySourceProvider was implemented to fetch the model
         // from the edit part when required. The property source is provided
@@ -264,19 +255,18 @@ public Object getAdapter(@SuppressWarnings("rawtypes") Class type) {
         // to yield standard eclipse interfaces.
 
         IPropertySourceProvider sourceProvider = new IPropertySourceProvider() {
-          IPropertySourceProvider modelPropertySourceProvider = new AdapterFactoryContentProvider(
-              new OPPItemProviderAdapterFactory());
+          IPropertySourceProvider modelPropertySourceProvider = new AdapterFactoryContentProvider(new OPPItemProviderAdapterFactory());
 
           @Override
           public IPropertySource getPropertySource(Object object) {
             IPropertySource source = null;
-            if(object instanceof EditPart) {
+            if (object instanceof EditPart) {
               source = modelPropertySourceProvider.getPropertySource(((EditPart) object).getModel());
             } else {
               source = modelPropertySourceProvider.getPropertySource(object);
             }
 
-            if(source != null) {
+            if (source != null) {
               return new UnwrappingPropertySource(source);
             } else {
               return null;
@@ -288,7 +278,7 @@ public IPropertySource getPropertySource(Object object) {
         propertyPage.setRootEntry(root);
       }
       return propertyPage;
-    } else if(type == ZoomManager.class) {
+    } else if (type == ZoomManager.class) {
       return ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getZoomManager();
     }
 
@@ -312,7 +302,7 @@ public UnwrappingPropertySource(final IPropertySource source) {
     @Override
     public Object getEditableValue() {
       Object value = source.getEditableValue();
-      if(value instanceof PropertyValueWrapper) {
+      if (value instanceof PropertyValueWrapper) {
         PropertyValueWrapper wrapper = (PropertyValueWrapper) value;
         return wrapper.getEditableValue(null);
       } else {
@@ -328,7 +318,7 @@ public IPropertyDescriptor[] getPropertyDescriptors() {
     @Override
     public Object getPropertyValue(Object id) {
       Object value = source.getPropertyValue(id);
-      if(value instanceof PropertyValueWrapper) {
+      if (value instanceof PropertyValueWrapper) {
         PropertyValueWrapper wrapper = (PropertyValueWrapper) value;
         return wrapper.getEditableValue(null);
       } else {

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2FOPPGraphicalEditor.java
9c2a157c30a602f814342e4ccd65ff765ed37fe4
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2Ffigure%2FOPPProcessFigure.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2Ffigure%2FOPPProcessFigure.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.editor/src/com/vainolo/phd/opp/editor/figure/OPPProcessFigure.java
    if (isMultiple)
    if (connectionAnchor == null) {

    if(isMultiple)
    if(connectionAnchor == null) {
  public void setText(String text) {
    smartLabel.setText(text);
  }


String text
com.vainolo.phd.opp.editor/src/com/vainolo/phd/opp/editor/figure/OPPProcessFigure.java
smartLabel.setText(text);
void setText(String text)
@@ -72,7 +72,7 @@ private void paintMultipleProcess(Rectangle r) {
   protected void paintFigure(Graphics graphics) {
     super.paintFigure(graphics);
     Rectangle r = getBounds().getCopy();
-    if(isMultiple)
+    if (isMultiple)
       paintMultipleProcess(r);
     else
       paintSimpleProcess(r);
@@ -100,7 +100,7 @@ private Dimension calculateEllipseDimensionBasedOnLabelSize(Dimension labelDim)
    * @return an {@link EllipseAnchor} on the figure.
    */
   private ConnectionAnchor getConnectionAnchor() {
-    if(connectionAnchor == null) {
+    if (connectionAnchor == null) {
       connectionAnchor = new EllipseAnchor(this);
     }
     return connectionAnchor;
@@ -116,10 +116,6 @@ public ConnectionAnchor getTargetConnectionAnchor() {
     return getConnectionAnchor();
   }
 
-  public void setText(String text) {
-    smartLabel.setText(text);
-  }
-
   @Override
   public Dimension getPreferredSize(int wHint, int hHint) {
     Dimension smartLabelSize = smartLabel.calculateSize();

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2Ffigure%2FOPPProcessFigure.java
c07ee728ba1f01ff1c950840651cc13b3ab47890
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2Fpart%2FOPPProcessEditPart.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2Fpart%2FOPPProcessEditPart.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.editor/src/com/vainolo/phd/opp/editor/part/OPPProcessEditPart.java
    if (!model.isMain())
      figure.getNameFigure().setText(model.getName());
    parent.setLayoutConstraint(this, figure, new Rectangle(model.getX(), model.getY(), model.getWidth(), model.getHeight()));

    figure.getNameFigure().setText(model.getName());
    parent.setLayoutConstraint(this, figure,
        new Rectangle(model.getX(), model.getY(), model.getWidth(), model.getHeight()));

@@ -28,12 +28,12 @@ protected void refreshVisuals() {
     final GraphicalEditPart parent = (GraphicalEditPart) getParent();
 
     figure.setMultiple(model.isCollection());
-    figure.getNameFigure().setText(model.getName());
+    if (!model.isMain())
+      figure.getNameFigure().setText(model.getName());
     figure.setTooltipText(model.getDescription());
     figure.invalidateTree();
 
-    parent.setLayoutConstraint(this, figure,
-        new Rectangle(model.getX(), model.getY(), model.getWidth(), model.getHeight()));
+    parent.setLayoutConstraint(this, figure, new Rectangle(model.getX(), model.getY(), model.getWidth(), model.getHeight()));
 
   }
 

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.editor%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Feditor%2Fpart%2FOPPProcessEditPart.java
bbe07439840f7dc852fa18c1ac6aad2d991e9354
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2F.settings%2Forg.eclipse.jdt.core.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter.tests%2F.settings%2Forg.eclipse.jdt.core.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter.tests/.settings/org.eclipse.jdt.core.prefs
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_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=80
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=2
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_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_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_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=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
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=120
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=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2
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

@@ -20,283 +20,3 @@ 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.source=1.8
-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_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=80
-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=2
-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_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_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_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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-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=120
-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=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-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

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2F.settings%2Forg.eclipse.jdt.core.prefs
e58a10392564a363580dee1b101ce9efe520016d
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2F.settings%2Forg.eclipse.jdt.ui.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter.tests%2F.settings%2Forg.eclipse.jdt.ui.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter.tests/.settings/org.eclipse.jdt.ui.prefs
formatter_profile=_Vainolo

@@ -1,6 +1,5 @@
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Vainolo
 formatter_settings_version=12
 org.eclipse.jdt.ui.exception.name=e
 org.eclipse.jdt.ui.gettersetter.use.is=true

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2F.settings%2Forg.eclipse.jdt.ui.prefs
d2d842afd1ee726c7e69a0ff2e0f3bdb85640034
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceTest.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceTest.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter.tests/src/com/vainolo/phd/opp/interpreter/OPPObjectInstanceTest.java
import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceKind;
    composite1.setPart("part1", instance1);
    composite1.setPart("part2", instance2);
    assertEquals(InstanceKind.COMPOSITE, composite1.kind);
    assertEquals(composite1.getAllParts().size(), 2);
    assertEquals(composite1.getPart("part1"), instance1);
    assertEquals(composite1.getPart("part2"), instance2);
    instance1.getAllParts();
    instance1.setPart("name", instance2);
    instance1.setPart("name", instance2);
    composite1.setPart("part1", instance1);
    instance1 = OPPObjectInstance.createCompositeInstance();
    instance1.addLastPart(instance2);
    assertEquals(instance2.getValue(), instance1.getFirstPart().getValue());
    instance1 = OPPObjectInstance.createCompositeInstance();
    instance1.addLastPart(instance2);
    assertEquals(instance2.getValue(), instance1.getLastPart().getValue());

import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceType;
    composite1.addCompositePart("part1", instance1);
    composite1.addCompositePart("part2", instance2);
    assertEquals(InstanceType.COMPOSITE, composite1.type);
    assertEquals(composite1.getCompositeParts().size(), 2);
    assertEquals(composite1.getCompositePart("part1"), instance1);
    assertEquals(composite1.getCompositePart("part2"), instance2);
    instance1.getCompositeParts();
    instance1.addCompositePart("name", instance2);
    instance1.addCompositePart("name", instance2);
    composite1.addCompositePart("part1", instance1);
    instance1 = OPPObjectInstance.createCollectionInstace();
    instance1.appendCollectionElement(instance2);
    assertEquals(instance2.getValue(), instance1.getCollectionFirstElement().getValue());
    instance1 = OPPObjectInstance.createCollectionInstace();
    instance1.appendCollectionElement(instance2);
    assertEquals(instance2.getValue(), instance1.getLastCollectionElement().getValue());

@@ -7,7 +7,7 @@
 import org.junit.Test;
 
 import com.vainolo.phd.opp.interpreter.OPPObjectInstance;
-import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceType;
+import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceKind;
 
 import static org.junit.Assert.*;
 
@@ -60,13 +60,13 @@ public void test_getStringValueFromNumericalInstance() {
   public void test_AddPartsToCompoundInstance() {
     instance1 = OPPObjectInstance.createFromValue(state1);
     instance2 = OPPObjectInstance.createFromValue(string1);
-    composite1.addCompositePart("part1", instance1);
-    composite1.addCompositePart("part2", instance2);
+    composite1.setPart("part1", instance1);
+    composite1.setPart("part2", instance2);
 
-    assertEquals(InstanceType.COMPOSITE, composite1.type);
-    assertEquals(composite1.getCompositeParts().size(), 2);
-    assertEquals(composite1.getCompositePart("part1"), instance1);
-    assertEquals(composite1.getCompositePart("part2"), instance2);
+    assertEquals(InstanceKind.COMPOSITE, composite1.kind);
+    assertEquals(composite1.getAllParts().size(), 2);
+    assertEquals(composite1.getPart("part1"), instance1);
+    assertEquals(composite1.getPart("part2"), instance2);
   }
 
   @Test(expected = IllegalStateException.class)
@@ -77,45 +77,45 @@ public void test_GetValueFromCompountInstance_ExpectException() {
   @Test(expected = IllegalStateException.class)
   public void test_GetPartsFromValueInstance_ExpectException() {
     instance1 = OPPObjectInstance.createFromValue(number1);
-    instance1.getCompositeParts();
+    instance1.getAllParts();
   }
 
   @Test(expected = IllegalStateException.class)
   public void test_AddPartToValueInstance_ExpectException() {
     instance1 = OPPObjectInstance.createFromValue(number1);
     instance2 = OPPObjectInstance.createFromValue(number1);
-    instance1.addCompositePart("name", instance2);
+    instance1.setPart("name", instance2);
   }
 
   @Test(expected = IllegalStateException.class)
   public void test_AddPartToStateInstance_ExpectException() {
     instance1 = OPPObjectInstance.createFromValue(state1);
     instance2 = OPPObjectInstance.createFromValue(number1);
-    instance1.addCompositePart("name", instance2);
+    instance1.setPart("name", instance2);
   }
 
   @Test
   public void test_CompoundInstanceToString() {
     instance1 = OPPObjectInstance.createFromValue(number1);
-    composite1.addCompositePart("part1", instance1);
+    composite1.setPart("part1", instance1);
     assertEquals("{part1:" + instance1.toString() + "}", composite1.toString());
 
   }
 
   // Collection instance tests
   @Test
   public void test_CreateCollectionAddInstanceAndGetFirstElement() {
-    instance1 = OPPObjectInstance.createCollectionInstace();
+    instance1 = OPPObjectInstance.createCompositeInstance();
     instance2 = OPPObjectInstance.createFromValue(number1);
-    instance1.appendCollectionElement(instance2);
-    assertEquals(instance2.getValue(), instance1.getCollectionFirstElement().getValue());
+    instance1.addLastPart(instance2);
+    assertEquals(instance2.getValue(), instance1.getFirstPart().getValue());
   }
 
   public void test_CreateCollectionAddInstanceAndGetLastElement() {
-    instance1 = OPPObjectInstance.createCollectionInstace();
+    instance1 = OPPObjectInstance.createCompositeInstance();
     instance2 = OPPObjectInstance.createFromValue(number1);
-    instance1.appendCollectionElement(instance2);
-    assertEquals(instance2.getValue(), instance1.getLastCollectionElement().getValue());
+    instance1.addLastPart(instance2);
+    assertEquals(instance2.getValue(), instance1.getLastPart().getValue());
   }
 
   @Before

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceTest.java
2ae8b7b68c27bf14bc0307cda1bb54f8a0a2612b
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceValueAnalyzerTests.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceValueAnalyzerTests.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter.tests/src/com/vainolo/phd/opp/interpreter/OPPObjectInstanceValueAnalyzerTests.java
    assertEquals(5, instance.getAllParts().size());
    List<OPPObjectInstance> collectionElements = Lists.newArrayList(instance.getAllParts());
    assertEquals(52, instance.getAllParts().size());
    collectionElements = Lists.newArrayList(instance.getAllParts());
    assertEquals(6, instance.getAllParts().size());
    collectionElements = Lists.newArrayList(instance.getAllParts());

    assertEquals(5, instance.getCollectionAllElements().size());
    List<OPPObjectInstance> collectionElements = Lists.newArrayList(instance.getCollectionAllElements());
    assertEquals(52, instance.getCollectionAllElements().size());
    collectionElements = Lists.newArrayList(instance.getCollectionAllElements());
    assertEquals(6, instance.getCollectionAllElements().size());
    collectionElements = Lists.newArrayList(instance.getCollectionAllElements());

@@ -48,24 +48,24 @@ public void test_calculateArrayLiteralValue() {
 
     array = "[1..5]";
     instance = valueAnalyzer.calculateOPMObjectValue(array);
-    assertEquals(5, instance.getCollectionAllElements().size());
-    List<OPPObjectInstance> collectionElements = Lists.newArrayList(instance.getCollectionAllElements());
+    assertEquals(5, instance.getAllParts().size());
+    List<OPPObjectInstance> collectionElements = Lists.newArrayList(instance.getAllParts());
     for(int i = 1; i <= 5; i++) {
       assertEquals(i, collectionElements.get(i - 1).getNumericalValue().intValue());
     }
 
     array = "[25..76]";
     instance = valueAnalyzer.calculateOPMObjectValue(array);
-    assertEquals(52, instance.getCollectionAllElements().size());
-    collectionElements = Lists.newArrayList(instance.getCollectionAllElements());
+    assertEquals(52, instance.getAllParts().size());
+    collectionElements = Lists.newArrayList(instance.getAllParts());
     for(int i = 25; i <= 76; i++) {
       assertEquals(i, collectionElements.get(i - 25).getNumericalValue().intValue());
     }
 
     array = "[15..10]";
     instance = valueAnalyzer.calculateOPMObjectValue(array);
-    assertEquals(6, instance.getCollectionAllElements().size());
-    collectionElements = Lists.newArrayList(instance.getCollectionAllElements());
+    assertEquals(6, instance.getAllParts().size());
+    collectionElements = Lists.newArrayList(instance.getAllParts());
     for(int i = 15; i >= 10; i--) {
       assertEquals(i, collectionElements.get(15 - i).getNumericalValue().intValue());
     }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceValueAnalyzerTests.java
7511b20f14858cf59888840670b2ee46ea4af8e8
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPReadJSONObjectProcessInstanceTest.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPReadJSONObjectProcessInstanceTest.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter.tests/src/com/vainolo/phd/opp/interpreter/builtin/OPPReadJSONObjectProcessInstanceTest.java
    assertEquals(0, instance.getPart("a").getNumericalValue().intValue());
    assertEquals(5.43, instance.getPart("a").getNumericalValue().doubleValue(), 0.0001);
    assertEquals("hello", instance.getPart("a").getStringValue());
    assertEquals("false", instance.getPart("a").getStringValue());
    assertEquals("false", instance.getPart("a").getStringValue());
    assertEquals(2, instance.getPart("b").getNumericalValue().intValue());
    assertEquals("true", instance.getPart("a").getPart("b").getStringValue());
    assertEquals("true", instance.getPart("a").getPart("b").getStringValue());
    assertEquals("false", instance.getPart("b").getStringValue());
    assertEquals("true", instance.getPart("a").getPart("b").getStringValue());
    assertEquals(3, instance.getPart("a").getPart("c").getNumericalValue().intValue());
    assertEquals("hello", instance.getPart("a").getPart("d").getStringValue());

    assertEquals(0, instance.getCompositePart("a").getNumericalValue().intValue());
    assertEquals(5.43, instance.getCompositePart("a").getNumericalValue().doubleValue(), 0.0001);
    assertEquals("hello", instance.getCompositePart("a").getStringValue());
    assertEquals("false", instance.getCompositePart("a").getStringValue());
    assertEquals("false", instance.getCompositePart("a").getStringValue());
    assertEquals(2, instance.getCompositePart("b").getNumericalValue().intValue());
    assertEquals("true", instance.getCompositePart("a").getCompositePart("b").getStringValue());
    assertEquals("true", instance.getCompositePart("a").getCompositePart("b").getStringValue());
    assertEquals("false", instance.getCompositePart("b").getStringValue());
    assertEquals("true", instance.getCompositePart("a").getCompositePart("b").getStringValue());
    assertEquals(3, instance.getCompositePart("a").getCompositePart("c").getNumericalValue().intValue());
    assertEquals("hello", instance.getCompositePart("a").getCompositePart("d").getStringValue());

@@ -29,44 +29,44 @@ private OPPObjectInstance readJson(String json) throws Exception {
   @Test
   public void test_execute_intElement() throws Exception {
     OPPObjectInstance instance = readJson("{\"a\":0}");
-    assertEquals(0, instance.getCompositePart("a").getNumericalValue().intValue());
+    assertEquals(0, instance.getPart("a").getNumericalValue().intValue());
   }
 
   @Test
   public void test_execute_doubleElement() throws Exception {
     OPPObjectInstance instance = readJson("{\"a\":5.43}");
-    assertEquals(5.43, instance.getCompositePart("a").getNumericalValue().doubleValue(), 0.0001);
+    assertEquals(5.43, instance.getPart("a").getNumericalValue().doubleValue(), 0.0001);
   }
 
   @Test
   public void test_execute_stringElement() throws Exception {
     OPPObjectInstance instance = readJson("{\"a\":\"hello\"}");
-    assertEquals("hello", instance.getCompositePart("a").getStringValue());
+    assertEquals("hello", instance.getPart("a").getStringValue());
   }
 
   @Test
   public void test_execute_booleanElement() throws Exception {
     OPPObjectInstance instance = readJson("{\"a\":false}");
-    assertEquals("false", instance.getCompositePart("a").getStringValue());
+    assertEquals("false", instance.getPart("a").getStringValue());
   }
 
   @Test
   public void text_execute_multipleElements() throws Exception {
     OPPObjectInstance instance = readJson("{\"a\":false,\"b\":2}");
-    assertEquals("false", instance.getCompositePart("a").getStringValue());
-    assertEquals(2, instance.getCompositePart("b").getNumericalValue().intValue());
+    assertEquals("false", instance.getPart("a").getStringValue());
+    assertEquals(2, instance.getPart("b").getNumericalValue().intValue());
   }
 
   @Test
   public void test_execute_complexInstance() throws Exception {
     OPPObjectInstance instance = readJson("{\"a\":{\"b\":true}}");
-    assertEquals("true", instance.getCompositePart("a").getCompositePart("b").getStringValue());
+    assertEquals("true", instance.getPart("a").getPart("b").getStringValue());
 
     instance = readJson("{\"a\":{\"b\":true, \"c\":3,\"d\":\"hello\"}, \"b\":false}");
-    assertEquals("true", instance.getCompositePart("a").getCompositePart("b").getStringValue());
-    assertEquals("false", instance.getCompositePart("b").getStringValue());
-    assertEquals("true", instance.getCompositePart("a").getCompositePart("b").getStringValue());
-    assertEquals(3, instance.getCompositePart("a").getCompositePart("c").getNumericalValue().intValue());
-    assertEquals("hello", instance.getCompositePart("a").getCompositePart("d").getStringValue());
+    assertEquals("true", instance.getPart("a").getPart("b").getStringValue());
+    assertEquals("false", instance.getPart("b").getStringValue());
+    assertEquals("true", instance.getPart("a").getPart("b").getStringValue());
+    assertEquals(3, instance.getPart("a").getPart("c").getNumericalValue().intValue());
+    assertEquals("hello", instance.getPart("a").getPart("d").getStringValue());
   }
 }
\ No newline at end of file
https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPReadJSONObjectProcessInstanceTest.java
3ae41a4a528750730a87f20556c9793fcb7644e4
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPWriteOPMObjectInstanceToJSONProcessInstanceTest.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPWriteOPMObjectInstanceToJSONProcessInstanceTest.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter.tests/src/com/vainolo/phd/opp/interpreter/builtin/OPPWriteOPMObjectInstanceToJSONProcessInstanceTest.java
    opmObject.setPart("int", OPPObjectInstance.createFromValue(new BigDecimal(3)));
    opmObject.setPart("double", OPPObjectInstance.createFromValue(new BigDecimal(5.47)));
    opmObject.setPart("name", OPPObjectInstance.createFromValue("hello"));
    opmObject.setPart("bool", OPPObjectInstance.createFromValue("true"));
    opmObject.setPart("a", OPPObjectInstance.createFromValue(new BigDecimal(5)));
    part.setPart("b1", OPPObjectInstance.createFromValue("hello"));
    part.setPart("b2", OPPObjectInstance.createFromValue(new BigDecimal(5.43)));
    opmObject.setPart("b", part);
    opmObject.setPart("c", OPPObjectInstance.createFromValue("one"));

    opmObject.addCompositePart("int", OPPObjectInstance.createFromValue(new BigDecimal(3)));
    opmObject.addCompositePart("double", OPPObjectInstance.createFromValue(new BigDecimal(5.47)));
    opmObject.addCompositePart("name", OPPObjectInstance.createFromValue("hello"));
    opmObject.addCompositePart("bool", OPPObjectInstance.createFromValue("true"));
    opmObject.addCompositePart("a", OPPObjectInstance.createFromValue(new BigDecimal(5)));
    part.addCompositePart("b1", OPPObjectInstance.createFromValue("hello"));
    part.addCompositePart("b2", OPPObjectInstance.createFromValue(new BigDecimal(5.43)));
    opmObject.addCompositePart("b", part);
    opmObject.addCompositePart("c", OPPObjectInstance.createFromValue("one"));

@@ -32,7 +32,7 @@ private OPPObjectInstance writeJson(OPPObjectInstance opmObject) throws Exceptio
   @Test
   public void test_execute_intElement() throws Exception {
     OPPObjectInstance opmObject = OPPObjectInstance.createCompositeInstance();
-    opmObject.addCompositePart("int", OPPObjectInstance.createFromValue(new BigDecimal(3)));
+    opmObject.setPart("int", OPPObjectInstance.createFromValue(new BigDecimal(3)));
     OPPObjectInstance result = writeJson(opmObject);
     JsonObject jsonObject = JsonObject.readFrom(result.getStringValue());
     assertEquals(3, jsonObject.get("int").asInt());
@@ -41,7 +41,7 @@ public void test_execute_intElement() throws Exception {
   @Test
   public void test_execute_doubleElement() throws Exception {
     OPPObjectInstance opmObject = OPPObjectInstance.createCompositeInstance();
-    opmObject.addCompositePart("double", OPPObjectInstance.createFromValue(new BigDecimal(5.47)));
+    opmObject.setPart("double", OPPObjectInstance.createFromValue(new BigDecimal(5.47)));
     OPPObjectInstance result = writeJson(opmObject);
     JsonObject jsonObject = JsonObject.readFrom(result.getStringValue());
     assertEquals(5.47, jsonObject.get("double").asDouble(), 0.00001);
@@ -50,7 +50,7 @@ public void test_execute_doubleElement() throws Exception {
   @Test
   public void test_execute_stringElement() throws Exception {
     OPPObjectInstance opmObject = OPPObjectInstance.createCompositeInstance();
-    opmObject.addCompositePart("name", OPPObjectInstance.createFromValue("hello"));
+    opmObject.setPart("name", OPPObjectInstance.createFromValue("hello"));
     OPPObjectInstance result = writeJson(opmObject);
     JsonObject jsonObject = JsonObject.readFrom(result.getStringValue());
     assertEquals("hello", jsonObject.get("name").asString());
@@ -59,7 +59,7 @@ public void test_execute_stringElement() throws Exception {
   @Test
   public void test_execute_stateElement() throws Exception {
     OPPObjectInstance opmObject = OPPObjectInstance.createCompositeInstance();
-    opmObject.addCompositePart("bool", OPPObjectInstance.createFromValue("true"));
+    opmObject.setPart("bool", OPPObjectInstance.createFromValue("true"));
     OPPObjectInstance result = writeJson(opmObject);
     JsonObject jsonObject = JsonObject.readFrom(result.getStringValue());
     assertEquals("true", jsonObject.get("bool").asString());
@@ -68,12 +68,12 @@ public void test_execute_stateElement() throws Exception {
   @Test
   public void text_execute_multipleElements() throws Exception {
     OPPObjectInstance opmObject = OPPObjectInstance.createCompositeInstance();
-    opmObject.addCompositePart("a", OPPObjectInstance.createFromValue(new BigDecimal(5)));
+    opmObject.setPart("a", OPPObjectInstance.createFromValue(new BigDecimal(5)));
     OPPObjectInstance part = OPPObjectInstance.createCompositeInstance();
-    part.addCompositePart("b1", OPPObjectInstance.createFromValue("hello"));
-    part.addCompositePart("b2", OPPObjectInstance.createFromValue(new BigDecimal(5.43)));
-    opmObject.addCompositePart("b", part);
-    opmObject.addCompositePart("c", OPPObjectInstance.createFromValue("one"));
+    part.setPart("b1", OPPObjectInstance.createFromValue("hello"));
+    part.setPart("b2", OPPObjectInstance.createFromValue(new BigDecimal(5.43)));
+    opmObject.setPart("b", part);
+    opmObject.setPart("c", OPPObjectInstance.createFromValue("one"));
     OPPObjectInstance result = writeJson(opmObject);
     JsonObject json = JsonObject.readFrom(result.getStringValue());
     assertEquals(5, json.get("a").asInt());

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPWriteOPMObjectInstanceToJSONProcessInstanceTest.java
a4ba95a48dfad3f56724001bedab32525f669b23
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessInstanceHeapTest.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessInstanceHeapTest.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter.tests/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessInstanceHeapTest.java
import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceKind;
    OPPObjectInstance instance2 = instance1.getPart(part1.getName());
    assertTrue(observer.changes.get(1).objectInstance.kind == InstanceKind.COMPOSITE);
    assertEquals(inst1.getNumericalValue(), observer.changes.get(0).objectInstance.getPart(part1.getName()).getNumericalValue());
    assertEquals(heap.getVariable(obj1).getAllParts().size(), 0);
    assertNotNull(heap.getVariable(obj1).getPart(part1.getName()));
    assertEquals(1, heap.getVariable(obj1).getAllParts().size());
    assertNotNull(heap.getVariable(obj1).getPart(part2.getName()));
    assertNotNull(heap.getVariable(obj1).getPart(part1.getName()));
    assertEquals(2, heap.getVariable(obj1).getAllParts().size());
    assertNotNull(heap.getVariable(obj1).getPart(part2.getName()).getPart(part11.getName()));
    assertEquals(2, heap.getVariable(obj1).getAllParts().size());
    assertEquals(1, heap.getVariable(part2).getAllParts().size());

import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceType;
    OPPObjectInstance instance2 = instance1.getCompositePart(part1.getName());
    assertTrue(observer.changes.get(1).objectInstance.type == InstanceType.COMPOSITE);
    assertEquals(inst1.getNumericalValue(), observer.changes.get(0).objectInstance.getCompositePart(part1.getName())
        .getNumericalValue());
    assertEquals(heap.getVariable(obj1).getCompositeParts().size(), 0);
    assertNotNull(heap.getVariable(obj1).getCompositePart(part1.getName()));
    assertEquals(1, heap.getVariable(obj1).getCompositeParts().size());
    assertNotNull(heap.getVariable(obj1).getCompositePart(part2.getName()));
    assertNotNull(heap.getVariable(obj1).getCompositePart(part1.getName()));
    assertEquals(2, heap.getVariable(obj1).getCompositeParts().size());
    assertNotNull(heap.getVariable(obj1).getCompositePart(part2.getName()).getCompositePart(part11.getName()));
    assertEquals(2, heap.getVariable(obj1).getCompositeParts().size());
    assertEquals(1, heap.getVariable(part2).getCompositeParts().size());
  }

  @Test(expected = IllegalArgumentException.class)
  public void assignSimpleInstanceToCompositeObject() {
    createAggregationRelation(obj1, part1);

    heap.setVariable(obj1, inst1);
  }

  @Test(expected = IllegalArgumentException.class)
  public void assignCompositeInstanceToSimpleObject() {
    heap.setVariable(obj1, compInst1);

com.vainolo.phd.opp.interpreter.tests/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessInstanceHeapTest.java
createAggregationRelation(obj1, part1);

    heap.setVariable(obj1, inst1);
void assignSimpleInstanceToCompositeObject()
@@ -13,7 +13,7 @@
 import com.google.common.collect.Lists;
 import com.vainolo.phd.opp.interpreter.OPPObjectInstance;
 import com.vainolo.phd.opp.interpreter.OPPObjectInstanceValueAnalyzer;
-import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceType;
+import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceKind;
 import com.vainolo.phd.opp.interpreter.inzoomedprocessinstance.OPPInZoomedProcessInstanceHeap;
 import com.vainolo.phd.opp.interpreter.inzoomedprocessinstance.OPPInZoomedProcessInstanceHeap.OPMHeapChange;
 import com.vainolo.phd.opp.interpreter.inzoomedprocessinstance.OPPInZoomedProcessInstanceHeap.OPMHeapChangeType;
@@ -61,7 +61,7 @@ public void createVariablePart_ValidateParentCreation() {
 
     OPPObjectInstance instance1 = heap.getVariable(obj1);
     assertNotNull(instance1);
-    OPPObjectInstance instance2 = instance1.getCompositePart(part1.getName());
+    OPPObjectInstance instance2 = instance1.getPart(part1.getName());
     assertNotNull(instance2);
     assertEquals(inst1.getNumericalValue(), instance2.getNumericalValue());
   }
@@ -80,9 +80,8 @@ public void createVariablePart_ValidateNotificationOfParentAndPart() {
     assertEquals(part1, observer.changes.get(0).child);
     assertEquals(inst1.getNumericalValue(), observer.changes.get(0).childInstance.getNumericalValue());
     assertEquals(OPMHeapChangeType.VARIABLE_SET, observer.changes.get(1).changeType);
-    assertTrue(observer.changes.get(1).objectInstance.type == InstanceType.COMPOSITE);
-    assertEquals(inst1.getNumericalValue(), observer.changes.get(0).objectInstance.getCompositePart(part1.getName())
-        .getNumericalValue());
+    assertTrue(observer.changes.get(1).objectInstance.kind == InstanceKind.COMPOSITE);
+    assertEquals(inst1.getNumericalValue(), observer.changes.get(0).objectInstance.getPart(part1.getName()).getNumericalValue());
   }
 
   @Test
@@ -94,39 +93,27 @@ public void createAndChangeCompositePart() {
     heap.setVariable(obj1, compInst1);
 
     assertNotNull(heap.getVariable(obj1));
-    assertEquals(heap.getVariable(obj1).getCompositeParts().size(), 0);
+    assertEquals(heap.getVariable(obj1).getAllParts().size(), 0);
 
     heap.setVariable(part1, inst1);
 
     assertNotNull(heap.getVariable(part1));
-    assertNotNull(heap.getVariable(obj1).getCompositePart(part1.getName()));
-    assertEquals(1, heap.getVariable(obj1).getCompositeParts().size());
+    assertNotNull(heap.getVariable(obj1).getPart(part1.getName()));
+    assertEquals(1, heap.getVariable(obj1).getAllParts().size());
 
     heap.setVariable(part2, compInst2);
 
     assertNotNull(heap.getVariable(part2));
-    assertNotNull(heap.getVariable(obj1).getCompositePart(part2.getName()));
-    assertNotNull(heap.getVariable(obj1).getCompositePart(part1.getName()));
-    assertEquals(2, heap.getVariable(obj1).getCompositeParts().size());
+    assertNotNull(heap.getVariable(obj1).getPart(part2.getName()));
+    assertNotNull(heap.getVariable(obj1).getPart(part1.getName()));
+    assertEquals(2, heap.getVariable(obj1).getAllParts().size());
 
     heap.setVariable(part11, inst3);
 
     assertNotNull(heap.getVariable(part11));
-    assertNotNull(heap.getVariable(obj1).getCompositePart(part2.getName()).getCompositePart(part11.getName()));
-    assertEquals(2, heap.getVariable(obj1).getCompositeParts().size());
-    assertEquals(1, heap.getVariable(part2).getCompositeParts().size());
-  }
-
-  @Test(expected = IllegalArgumentException.class)
-  public void assignSimpleInstanceToCompositeObject() {
-    createAggregationRelation(obj1, part1);
-
-    heap.setVariable(obj1, inst1);
-  }
-
-  @Test(expected = IllegalArgumentException.class)
-  public void assignCompositeInstanceToSimpleObject() {
-    heap.setVariable(obj1, compInst1);
+    assertNotNull(heap.getVariable(obj1).getPart(part2.getName()).getPart(part11.getName()));
+    assertEquals(2, heap.getVariable(obj1).getAllParts().size());
+    assertEquals(1, heap.getVariable(part2).getAllParts().size());
   }
 
   @Before

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter.tests%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessInstanceHeapTest.java
90c6d28486a96792fd9255594497c6ae0b293dd0
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2F.settings%2Forg.eclipse.jdt.core.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2F.settings%2Forg.eclipse.jdt.core.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/.settings/org.eclipse.jdt.core.prefs
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_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=80
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=2
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_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_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_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=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
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=120
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=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2
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

@@ -108,283 +108,3 @@ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.8
-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_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=80
-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=2
-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_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_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_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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-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=120
-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=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-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

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2F.settings%2Forg.eclipse.jdt.core.prefs
bdf09ee85cc8c5bb800a3b778772588d6dba0697
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2F.settings%2Forg.eclipse.jdt.ui.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2F.settings%2Forg.eclipse.jdt.ui.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/.settings/org.eclipse.jdt.ui.prefs
formatter_profile=_Vainolo

@@ -1,7 +1,6 @@
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Vainolo
 formatter_settings_version=12
 org.eclipse.jdt.ui.exception.name=e
 org.eclipse.jdt.ui.gettersetter.use.is=true

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2F.settings%2Forg.eclipse.jdt.ui.prefs
cd1653cad9d85d3aab5faccca8b729d3aff333ae
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPAbstractProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPAbstractProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPAbstractProcessInstance.java
  public List<OPPParameter> getIncomingParameters() {
  public List<OPPParameter> getOutgoingParameters() {

  public List<OPPParameter> getIncomingParameterNames() {
  public List<OPPParameter> getOutgoingParameterNames() {

@@ -81,12 +81,12 @@ public OPPObjectInstance getArgument(String name) {
   }
 
   @Override
-  public List<OPPParameter> getIncomingParameterNames() {
+  public List<OPPParameter> getIncomingParameters() {
     return Lists.newArrayList();
   }
 
   @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
+  public List<OPPParameter> getOutgoingParameters() {
     return Lists.newArrayList();
   }
 

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPAbstractProcessInstance.java
f5b2391613c54f9e299bb96dbd3c8a7bfbd59112
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPInterpreter.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPInterpreter.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPInterpreter.java
   * {@link OPPObjectProcessDiagramKind#SYSTEM} and
   * {@link OPPObjectProcessDiagramKind#COMPOUND}, but they can both be executed
    } catch (Exception e) {

   * {@link OPMObjectProcessDiagramKind#SYSTEM} and
   * {@link OPMObjectProcessDiagramKind#COMPOUND}, but they can both be executed
    } catch(Exception e) {

@@ -35,8 +35,8 @@ private OPPInterpreter() {
 
   /**
    * Execute an Object Process Diagram (OPD). An OPD can be of two kinds,
-   * {@link OPMObjectProcessDiagramKind#SYSTEM} and
-   * {@link OPMObjectProcessDiagramKind#COMPOUND}, but they can both be executed
+   * {@link OPPObjectProcessDiagramKind#SYSTEM} and
+   * {@link OPPObjectProcessDiagramKind#COMPOUND}, but they can both be executed
    * in the same way.
    * 
    * @param opdName
@@ -50,7 +50,7 @@ public void interpret(String opdName, final IContainer _container) {
 
     try {
       instance.call();
-    } catch(Exception e) {
+    } catch (Exception e) {
       logSevere("Unexpected exception: " + e.getMessage());
     }
     logInfo("Finished interpreting {0}.", opdName);

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPInterpreter.java
256d1b232676a75336eee175a6831945ba53f592
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPJavaProcessExecutableInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPJavaProcessExecutableInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPJavaProcessExecutableInstance.java
    for (String parameter : parameters) {
    for (int i = 0; i < parameters.length; i++) {
    if (!method.getReturnType().equals(Void.TYPE)) {
    final Matcher classAndMethodAndParametersMatcher = classAndMethodAndParametersPattern.matcher(process.getDescription());
    if (!classAndMethodAndParametersMatcher.find()) {
      throw new RuntimeException("Could not parse method definition " + process.getDescription() + " for process " + process.getName());
    if (!methodParameters.isEmpty()) {
      if (parameters.length != 0) {
        for (int i = 0; i < parameters.length; i++) {
    } catch (ClassNotFoundException e) {
      logInfo("Could not load class " + className + " for process " + process.getName() + ". Check that the class is in the classpath.");
    } catch (NoSuchMethodException e) {
      logInfo("Could not find methdod " + methodName + " in class " + className + ". Please check that you have given the correct parameters and try again.");
    } catch (SecurityException e) {
    if (byte.class.getName().equals(name))
    if (short.class.getName().equals(name))
    if (int.class.getName().equals(name))
    if (long.class.getName().equals(name))
    if (float.class.getName().equals(name))
    if (double.class.getName().equals(name))
    if (boolean.class.getName().equals(name))
    if (char.class.getName().equals(name))
    if (name.charAt(0) == '[')

    for(String parameter : parameters) {
    for(int i = 0; i < parameters.length; i++) {
    if(!method.getReturnType().equals(Void.TYPE)) {
    final Matcher classAndMethodAndParametersMatcher = classAndMethodAndParametersPattern.matcher(process
        .getDescription());
    if(!classAndMethodAndParametersMatcher.find()) {
      throw new RuntimeException("Could not parse method definition " + process.getDescription() + " for process "
          + process.getName());
    if(!methodParameters.isEmpty()) {
      if(parameters.length != 0) {
        for(int i = 0; i < parameters.length; i++) {
    } catch(ClassNotFoundException e) {
      logInfo("Could not load class " + className + " for process " + process.getName()
          + ". Check that the class is in the classpath.");
    } catch(NoSuchMethodException e) {
      logInfo("Could not find methdod " + methodName + " in class " + className
          + ". Please check that you have given the correct parameters and try again.");
    } catch(SecurityException e) {
    if(byte.class.getName().equals(name))
    if(short.class.getName().equals(name))
    if(int.class.getName().equals(name))
    if(long.class.getName().equals(name))
    if(float.class.getName().equals(name))
    if(double.class.getName().equals(name))
    if(boolean.class.getName().equals(name))
    if(char.class.getName().equals(name))
    if(name.charAt(0) == '[')

  @Override
  public boolean isReady() {
    return true;
  }

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPJavaProcessExecutableInstance.java
return true;
boolean isReady()
@@ -40,13 +40,13 @@ public String getName() {
   @Override
   protected void executing() {
     loadMethod();
-    for(String parameter : parameters) {
+    for (String parameter : parameters) {
       OPPObject object = OPPFactory.eINSTANCE.createOPPObject();
       object.setName(parameter);
     }
 
     arguments = new Object[parameters.length];
-    for(int i = 0; i < parameters.length; i++) {
+    for (int i = 0; i < parameters.length; i++) {
       arguments[i] = getArgument("arg" + i);
     }
 
@@ -55,7 +55,7 @@ protected void executing() {
 
     // final Object result = callMethod(method);
     OPPObjectInstance instance = null; // OPMObjectInstance.createFromValue(result);
-    if(!method.getReturnType().equals(Void.TYPE)) {
+    if (!method.getReturnType().equals(Void.TYPE)) {
       setArgument("result", instance);
     }
   }
@@ -75,20 +75,18 @@ protected void executing() {
   // }
 
   private Method loadMethod() {
-    final Matcher classAndMethodAndParametersMatcher = classAndMethodAndParametersPattern.matcher(process
-        .getDescription());
+    final Matcher classAndMethodAndParametersMatcher = classAndMethodAndParametersPattern.matcher(process.getDescription());
 
-    if(!classAndMethodAndParametersMatcher.find()) {
+    if (!classAndMethodAndParametersMatcher.find()) {
       logInfo("Could not parse method definition " + process.getDescription() + " for process " + process.getName());
-      throw new RuntimeException("Could not parse method definition " + process.getDescription() + " for process "
-          + process.getName());
+      throw new RuntimeException("Could not parse method definition " + process.getDescription() + " for process " + process.getName());
     }
 
     className = classAndMethodAndParametersMatcher.group(1);
     methodName = classAndMethodAndParametersMatcher.group(2);
     String methodParameters = classAndMethodAndParametersMatcher.group(3);
 
-    if(!methodParameters.isEmpty()) {
+    if (!methodParameters.isEmpty()) {
       methodParameters = methodParameters.replaceAll("\\s*", "");
       parameters = methodParameters.split(",");
     }
@@ -100,23 +98,21 @@ private Method loadMethod() {
       Class<?>[] parameterClasses = null;
       cls = getClass(className);
 
-      if(parameters.length != 0) {
+      if (parameters.length != 0) {
         parameterClasses = new Class[parameters.length];
-        for(int i = 0; i < parameters.length; i++) {
+        for (int i = 0; i < parameters.length; i++) {
           parameterClasses[i] = getClass(parameters[i]);
         }
       }
       method = cls.getMethod(methodName, parameterClasses);
 
-    } catch(ClassNotFoundException e) {
-      logInfo("Could not load class " + className + " for process " + process.getName()
-          + ". Check that the class is in the classpath.");
+    } catch (ClassNotFoundException e) {
+      logInfo("Could not load class " + className + " for process " + process.getName() + ". Check that the class is in the classpath.");
       throw new RuntimeException(e);
-    } catch(NoSuchMethodException e) {
-      logInfo("Could not find methdod " + methodName + " in class " + className
-          + ". Please check that you have given the correct parameters and try again.");
+    } catch (NoSuchMethodException e) {
+      logInfo("Could not find methdod " + methodName + " in class " + className + ". Please check that you have given the correct parameters and try again.");
       throw new RuntimeException(e);
-    } catch(SecurityException e) {
+    } catch (SecurityException e) {
       logInfo("Some security exception happened. Don't know what this means :-)");
       throw new RuntimeException(e);
     }
@@ -125,31 +121,26 @@ private Method loadMethod() {
   }
 
   private Class<?> getClass(String name) throws ClassNotFoundException {
-    if(byte.class.getName().equals(name))
+    if (byte.class.getName().equals(name))
       return byte.class;
-    if(short.class.getName().equals(name))
+    if (short.class.getName().equals(name))
       return short.class;
-    if(int.class.getName().equals(name))
+    if (int.class.getName().equals(name))
       return int.class;
-    if(long.class.getName().equals(name))
+    if (long.class.getName().equals(name))
       return long.class;
-    if(float.class.getName().equals(name))
+    if (float.class.getName().equals(name))
       return float.class;
-    if(double.class.getName().equals(name))
+    if (double.class.getName().equals(name))
       return double.class;
-    if(boolean.class.getName().equals(name))
+    if (boolean.class.getName().equals(name))
       return boolean.class;
-    if(char.class.getName().equals(name))
+    if (char.class.getName().equals(name))
       return char.class;
 
-    if(name.charAt(0) == '[')
+    if (name.charAt(0) == '[')
       throw new UnsupportedOperationException("Array parameters are not supported yet.");
 
     return Class.forName(name);
   }
-
-  @Override
-  public boolean isReady() {
-    return true;
-  }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPJavaProcessExecutableInstance.java
2dab750e38b0dde10c06d21bf2a16215ea3da69d
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
 * And instance of an OPM Object. An OPM object can have two primary constructs: it either has a value or is composite.
 * Values can be {@link String}, {@link BigDecimal}, or a state, which is treated pretty similarly to a string.
  private SortedMap<Integer, OPPObjectInstance> compositeValues = Maps.newTreeMap();
  private BiMap<String, Integer> compositeKeyToIndexMapping = HashBiMap.create();
  public final InstanceKind kind;
  private UUID id;

  private OPPObjectInstance(InstanceKind type) {
    this.kind = type;
    this.id = UUID.randomUUID();
  public String getId() {
    return id.toString();
  // Creation
  public static OPPObjectInstance createCompositeInstance() {
    return new OPPObjectInstance(InstanceKind.COMPOSITE);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.NUMERICAL);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.STRING);
  public static OPPObjectInstance createFromValue(Object object) {
    Preconditions.checkNotNull(object);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.JAVA_OBJECT);
    instance.setValue(object);
    return instance;
  }

    switch (existingInstance.kind) {
    case JAVA_OBJECT:
      newInstance = createFromValue(existingInstance.getValue());
      break;
      for (Integer index : existingInstance.compositeValues.keySet()) {
        newInstance.compositeValues.put(index, existingInstance.compositeValues.get(index));
        newInstance.compositeKeyToIndexMapping.inverse().put(index, existingInstance.compositeKeyToIndexMapping.inverse().get(index));
    default:
    if (InstanceKind.STRING.equals(kind)) {
      return (String) getValue();
    } else if (InstanceKind.NUMERICAL.equals(kind)) {
      return ((BigDecimal) getValue()).toString();
    if (InstanceKind.STRING.equals(kind)) {
    } else if (InstanceKind.NUMERICAL.equals(kind)) {
  // Compound
  public void addFirstPart(OPPObjectInstance value) {
    checkNotNull(value, "Cannot append a null element to a collection.");
    Integer firstKey = 0;
    if (compositeValues.size() > 0) {
      firstKey = compositeValues.firstKey();
    }
    int newKey = firstKey - 1;
    compositeValues.put(newKey, value);
    compositeKeyToIndexMapping.put(UUID.randomUUID().toString(), newKey);
  public void addLastPart(OPPObjectInstance value) {
    if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
    compositeValues.put(newKey, value);
    compositeKeyToIndexMapping.put(UUID.randomUUID().toString(), newKey);
  public void setPart(String name, OPPObjectInstance value) {
    checkTypeForCompositeOnlyOperations();
    if (compositeKeyToIndexMapping.containsKey(name)) {
      compositeValues.remove(compositeKeyToIndexMapping.get(name));
      compositeKeyToIndexMapping.remove(name);
    int lastKey = 0;
    if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
    }
    int newKey = lastKey + 1;
    compositeValues.put(newKey, value);
    compositeKeyToIndexMapping.put(name, newKey);
  public OPPObjectInstance getPart(String key) {
    checkTypeForCompositeOnlyOperations();
    checkState((key != null) && (!"".equals(key)), "Key cannot be null or empty.");
    return compositeValues.get(compositeKeyToIndexMapping.get(key));
  }
  public OPPObjectInstance getFirstPart() {
    checkTypeForCompositeOnlyOperations();
    return compositeValues.get(compositeValues.firstKey());
  public OPPObjectInstance getLastPart() {
    checkTypeForCompositeOnlyOperations();
    return compositeValues.get(compositeValues.lastKey());
  public Collection<OPPObjectInstance> getAllParts() {
    checkTypeForCompositeOnlyOperations();
    return Collections.unmodifiableCollection(compositeValues.values());
  public Set<String> getAllPartIndexes() {
    checkTypeForCompositeOnlyOperations();
    return Collections.unmodifiableSet(compositeKeyToIndexMapping.keySet());
  public void removePart(OPPObjectInstance key) {
    checkTypeForCompositeOnlyOperations();
    checkState(key != null, "Key cannot be null.");
    switch (key.kind) {
    case STRING:
    case NUMERICAL:
      removePart(key.getStringValue());
      break;
    case COMPOSITE:
      removePart(key.getId());
      break;
    case JAVA_OBJECT:
      throw new OPPRuntimeException("Java object keys are not supported.");
    }
  public void removePart(String key) {
    checkTypeForCompositeOnlyOperations();
    checkState((key != null) && ("".equals(key)), "Key cannot be null or empty.");
    Integer index = compositeKeyToIndexMapping.get(key);
    compositeValues.remove(index);
    compositeKeyToIndexMapping.remove(key);
  }

  public OPPObjectInstance removeFirstPart() {
    checkTypeForCompositeOnlyOperations();
    Integer firstIndex = compositeValues.firstKey();
    OPPObjectInstance firstInstance = compositeValues.remove(firstIndex);
    compositeKeyToIndexMapping.inverse().remove(firstIndex);
    return firstInstance;
  public OPPObjectInstance removeLastPart() {
    checkTypeForCompositeOnlyOperations();
    Integer lastIndex = compositeValues.lastKey();
    OPPObjectInstance lastInstance = compositeValues.remove(lastIndex);
    compositeKeyToIndexMapping.inverse().remove(lastIndex);
    return lastInstance;
    if (InstanceKind.STRING.equals(kind) || InstanceKind.NUMERICAL.equals(kind)) {
    } else if (InstanceKind.COMPOSITE.equals(kind)) {
      for (Integer index : compositeValues.keySet()) {
        ret.append(compositeKeyToIndexMapping.inverse().get(index).toString() + ":" + compositeValues.get(index).toString() + ",");
      if (ret.length() > 2)
        ret.replace(ret.length() - 1, ret.length(), "}");
    checkState(!InstanceKind.COMPOSITE.equals(kind), "Instance is a collection but operation is only valid for value instances.");
    checkState(InstanceKind.COMPOSITE.equals(kind), "Collection operations can only be applied to collection instances.");
  public enum InstanceKind {
    NUMERICAL, STRING, JAVA_OBJECT, COMPOSITE;

InstanceKind type
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
this.kind = type;
    this.id = UUID.randomUUID();
  public String getId() {
    return id.toString();
  // Creation
  public static OPPObjectInstance createCompositeInstance() {
    return new OPPObjectInstance(InstanceKind.COMPOSITE);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.NUMERICAL);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.STRING);
  public static OPPObjectInstance createFromValue(Object object) {
    Preconditions.checkNotNull(object);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.JAVA_OBJECT);
    instance.setValue(object);
    return instance;
private OPPObjectInstance(InstanceKind type)
OPPObjectInstance value
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkNotNull(value, "Cannot append a null element to a collection.");
    Integer firstKey = 0;
    if (compositeValues.size() > 0) {
      firstKey = compositeValues.firstKey();
void addFirstPart(OPPObjectInstance value)
OPPObjectInstance value
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
    compositeValues.put(newKey, value);
    compositeKeyToIndexMapping.put(UUID.randomUUID().toString(), newKey);
  public void setPart(String name, OPPObjectInstance value) {
    checkTypeForCompositeOnlyOperations();
    if (compositeKeyToIndexMapping.containsKey(name)) {
      compositeValues.remove(compositeKeyToIndexMapping.get(name));
      compositeKeyToIndexMapping.remove(name);
    int lastKey = 0;
    if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
void addLastPart(OPPObjectInstance value)
String key
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkTypeForCompositeOnlyOperations();
    checkState((key != null) && (!"".equals(key)), "Key cannot be null or empty.");
    return compositeValues.get(compositeKeyToIndexMapping.get(key));
OPPObjectInstance getPart(String key)
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkTypeForCompositeOnlyOperations();
    return compositeValues.get(compositeValues.firstKey());
  public OPPObjectInstance getLastPart() {
    checkTypeForCompositeOnlyOperations();
    return compositeValues.get(compositeValues.lastKey());
  public Collection<OPPObjectInstance> getAllParts() {
    checkTypeForCompositeOnlyOperations();
    return Collections.unmodifiableCollection(compositeValues.values());
  public Set<String> getAllPartIndexes() {
    checkTypeForCompositeOnlyOperations();
    return Collections.unmodifiableSet(compositeKeyToIndexMapping.keySet());
  public void removePart(OPPObjectInstance key) {
    checkTypeForCompositeOnlyOperations();
    checkState(key != null, "Key cannot be null.");
    switch (key.kind) {
    case STRING:
    case NUMERICAL:
      removePart(key.getStringValue());
      break;
    case COMPOSITE:
      removePart(key.getId());
      break;
    case JAVA_OBJECT:
      throw new OPPRuntimeException("Java object keys are not supported.");
OPPObjectInstance getFirstPart()
String key
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkTypeForCompositeOnlyOperations();
    checkState((key != null) && ("".equals(key)), "Key cannot be null or empty.");
    Integer index = compositeKeyToIndexMapping.get(key);
    compositeValues.remove(index);
    compositeKeyToIndexMapping.remove(key);
void removePart(String key)
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkTypeForCompositeOnlyOperations();
    Integer firstIndex = compositeValues.firstKey();
    OPPObjectInstance firstInstance = compositeValues.remove(firstIndex);
    compositeKeyToIndexMapping.inverse().remove(firstIndex);
    return firstInstance;
  public OPPObjectInstance removeLastPart() {
    checkTypeForCompositeOnlyOperations();
    Integer lastIndex = compositeValues.lastKey();
    OPPObjectInstance lastInstance = compositeValues.remove(lastIndex);
    compositeKeyToIndexMapping.inverse().remove(lastIndex);
    return lastInstance;
    if (InstanceKind.STRING.equals(kind) || InstanceKind.NUMERICAL.equals(kind)) {
OPPObjectInstance removeFirstPart()
import java.util.Map;
import java.util.Map.Entry;
 * And instance of an OPM Object. An OPM object can have two primary constructs:
 * it either has a value or is composite. Values can be {@link String},
 * {@link BigDecimal}, or a state, which is treated pretty similarly to a
 * string.
  private Map<String, OPPObjectInstance> parts = Maps.newHashMap();
  // private List<OPMObjectInstance> collectionValues = Lists.newArrayList();
  private SortedMap<Integer, OPPObjectInstance> collectionValues = Maps.newTreeMap();
  private BiMap<String, Integer> collectionNameToIndexMapping = HashBiMap.create();
  public final InstanceType type;

  private OPPObjectInstance(InstanceType type) {
    this.type = type;
  // Creation
  public static OPPObjectInstance createCompositeInstance() {
    return new OPPObjectInstance(InstanceType.COMPOSITE);
  public static OPPObjectInstance createCollectionInstace() {
    return new OPPObjectInstance(InstanceType.COLLECTION);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceType.NUMERICAL);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceType.STRING);
    switch(existingInstance.type) {
      for(Entry<String, OPPObjectInstance> part : existingInstance.getCompositeParts()) {
        newInstance.addCompositePart(part.getKey(), createFromExistingInstance(part.getValue()));
    case COLLECTION:
      newInstance = createCollectionInstace();
      for(Integer index : existingInstance.collectionValues.keySet()) {
        newInstance.collectionValues.put(index, existingInstance.collectionValues.get(index));
        newInstance.collectionNameToIndexMapping.inverse().put(index,
            existingInstance.collectionNameToIndexMapping.inverse().get(index));
      }
    if(InstanceType.STRING.equals(type)) {
      return String.class.cast(getValue());
    } else if(InstanceType.NUMERICAL.equals(type)) {
      return BigDecimal.class.cast(getValue()).toString();
    if(InstanceType.STRING.equals(type)) {
    } else if(InstanceType.NUMERICAL.equals(type)) {
  // Composite
  public void addCompositePart(String name, OPPObjectInstance part) {
    checkTypeForCompositeOnlyOperations();
    checkNotNull(name);
    checkNotNull(part);
    parts.put(name, part);
  }

  public OPPObjectInstance getCompositePart(String name) {
    checkNotNull(name, "Part name cannot be null");
    checkArgument(!"".equals(name), "Part name cannot be empty");
    return parts.get(name);
  public Set<Entry<String, OPPObjectInstance>> getCompositeParts() {
    return Collections.unmodifiableSet(parts.entrySet());
  }

  // Collection
  public int appendCollectionElement(OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    if(collectionValues.size() > 0) {
      lastKey = collectionValues.lastKey();
    collectionValues.put(newKey, value);
    collectionNameToIndexMapping.put(UUID.randomUUID().toString(), newKey);
    return newKey;
  public void putCollectionElement(String name, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    if(collectionNameToIndexMapping.containsKey(name)) {
      collectionValues.remove(collectionNameToIndexMapping.get(name));
      collectionNameToIndexMapping.remove(name);
    int index = appendCollectionElement(value);
    collectionNameToIndexMapping.inverse().remove(index);
    collectionNameToIndexMapping.put(name, index);
  public void putCollectionElementAtIndex(int index, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    checkNotNull(value, "Cannot insert a null element to a collection.");
    if(collectionValues.containsKey(index)) {
      collectionValues.remove(index);
      collectionNameToIndexMapping.inverse().remove(index);
    }
    collectionValues.put(index, value);
    collectionNameToIndexMapping.put(UUID.randomUUID().toString(), index);
  public OPPObjectInstance getCollectionElement(String name) {
    checkTypeForCollectionOnlyOperations();
    checkState((name != null) && !("".equals(name)), "Named location of element must not be null or empty.");
    checkState(collectionNameToIndexMapping.containsKey(name), "Collection does contain a value at index %s.", name);
    return collectionValues.get(collectionNameToIndexMapping.get(name));
  public OPPObjectInstance getCollectionElementAtIndex(int index) {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(index);
  public OPPObjectInstance getCollectionFirstElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.firstKey());
  public OPPObjectInstance getLastCollectionElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.lastKey());
  public Collection<OPPObjectInstance> getCollectionAllElements() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableCollection(collectionValues.values());
  public Set<String> getCollectionAllIndexes() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableSet(collectionNameToIndexMapping.keySet());
    if(InstanceType.STRING.equals(type) || InstanceType.NUMERICAL.equals(type))
    else if(InstanceType.COMPOSITE.equals(type)) {
      for(String partName : parts.keySet()) {
        ret.append(partName + ":" + parts.get(partName) + ",");
      }
      ret.replace(ret.length() - 1, ret.length(), "}");
      return ret.toString();
    } else if(InstanceType.COLLECTION.equals(type)) {
      StringBuilder ret = new StringBuilder("[");
      for(OPPObjectInstance element : collectionValues.values()) {
        ret.append(element.toString() + ",");
      if(ret.length() > 2)
        ret.replace(ret.length() - 1, ret.length(), "]");
    checkState(!InstanceType.COLLECTION.equals(type),
        "Instance is a collection but operation is only valid for value instances.");
    checkState(!InstanceType.COMPOSITE.equals(type),
        "Instance is a collection but operation is only valid for value instances.");
    checkState(InstanceType.COMPOSITE.equals(type), "Composite operations can only be applied to composite instances.");
  }

  private void checkTypeForCollectionOnlyOperations() {
    checkState(InstanceType.COLLECTION.equals(type),
        "Collection operations can only be applied to collection instances.");
  public enum InstanceType {
    NUMERICAL, STRING, COMPOSITE, COLLECTION;

InstanceType type
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
this.type = type;
  // Creation
  public static OPPObjectInstance createCompositeInstance() {
    return new OPPObjectInstance(InstanceType.COMPOSITE);
  public static OPPObjectInstance createCollectionInstace() {
    return new OPPObjectInstance(InstanceType.COLLECTION);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceType.NUMERICAL);
    OPPObjectInstance instance = new OPPObjectInstance(InstanceType.STRING);
    switch(existingInstance.type) {
      for(Entry<String, OPPObjectInstance> part : existingInstance.getCompositeParts()) {
        newInstance.addCompositePart(part.getKey(), createFromExistingInstance(part.getValue()));
    case COLLECTION:
      newInstance = createCollectionInstace();
      for(Integer index : existingInstance.collectionValues.keySet()) {
        newInstance.collectionValues.put(index, existingInstance.collectionValues.get(index));
        newInstance.collectionNameToIndexMapping.inverse().put(index,
            existingInstance.collectionNameToIndexMapping.inverse().get(index));
private OPPObjectInstance(InstanceType type)
String name  OPPObjectInstance part
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkTypeForCompositeOnlyOperations();
    checkNotNull(name);
    checkNotNull(part);
    parts.put(name, part);
void addCompositePart(String name, OPPObjectInstance part)
String name
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkNotNull(name, "Part name cannot be null");
    checkArgument(!"".equals(name), "Part name cannot be empty");
    return parts.get(name);
  public Set<Entry<String, OPPObjectInstance>> getCompositeParts() {
    return Collections.unmodifiableSet(parts.entrySet());
OPPObjectInstance getCompositePart(String name)
OPPObjectInstance value
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkTypeForCollectionOnlyOperations();
    if(collectionValues.size() > 0) {
      lastKey = collectionValues.lastKey();
    collectionValues.put(newKey, value);
    collectionNameToIndexMapping.put(UUID.randomUUID().toString(), newKey);
    return newKey;
  public void putCollectionElement(String name, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    if(collectionNameToIndexMapping.containsKey(name)) {
      collectionValues.remove(collectionNameToIndexMapping.get(name));
      collectionNameToIndexMapping.remove(name);
    int index = appendCollectionElement(value);
    collectionNameToIndexMapping.inverse().remove(index);
    collectionNameToIndexMapping.put(name, index);
  public void putCollectionElementAtIndex(int index, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    checkNotNull(value, "Cannot insert a null element to a collection.");
    if(collectionValues.containsKey(index)) {
      collectionValues.remove(index);
      collectionNameToIndexMapping.inverse().remove(index);
int appendCollectionElement(OPPObjectInstance value)
String name
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstance.java
checkTypeForCollectionOnlyOperations();
    checkState((name != null) && !("".equals(name)), "Named location of element must not be null or empty.");
    checkState(collectionNameToIndexMapping.containsKey(name), "Collection does contain a value at index %s.", name);
    return collectionValues.get(collectionNameToIndexMapping.get(name));
  public OPPObjectInstance getCollectionElementAtIndex(int index) {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(index);
  public OPPObjectInstance getCollectionFirstElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.firstKey());
  public OPPObjectInstance getLastCollectionElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.lastKey());
  public Collection<OPPObjectInstance> getCollectionAllElements() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableCollection(collectionValues.values());
  public Set<String> getCollectionAllIndexes() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableSet(collectionNameToIndexMapping.keySet());
    if(InstanceType.STRING.equals(type) || InstanceType.NUMERICAL.equals(type))
    else if(InstanceType.COMPOSITE.equals(type)) {
      for(String partName : parts.keySet()) {
        ret.append(partName + ":" + parts.get(partName) + ",");
OPPObjectInstance getCollectionElement(String name)
@@ -10,8 +10,6 @@
 import java.math.BigDecimal;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 import java.util.SortedMap;
 import java.util.UUID;
@@ -22,73 +20,76 @@
 import com.google.common.collect.Maps;
 
 /**
- * And instance of an OPM Object. An OPM object can have two primary constructs:
- * it either has a value or is composite. Values can be {@link String},
- * {@link BigDecimal}, or a state, which is treated pretty similarly to a
- * string.
+ * And instance of an OPM Object. An OPM object can have two primary constructs: it either has a value or is composite.
+ * Values can be {@link String}, {@link BigDecimal}, or a state, which is treated pretty similarly to a string.
  * 
  * @author Arieh 'Vainolo' Bibliowicz
  * 
  */
 public class OPPObjectInstance {
 
   private Object value = null;
-  private Map<String, OPPObjectInstance> parts = Maps.newHashMap();
-  // private List<OPMObjectInstance> collectionValues = Lists.newArrayList();
-  private SortedMap<Integer, OPPObjectInstance> collectionValues = Maps.newTreeMap();
-  private BiMap<String, Integer> collectionNameToIndexMapping = HashBiMap.create();
-  public final InstanceType type;
-
-  private OPPObjectInstance(InstanceType type) {
-    this.type = type;
+  private SortedMap<Integer, OPPObjectInstance> compositeValues = Maps.newTreeMap();
+  private BiMap<String, Integer> compositeKeyToIndexMapping = HashBiMap.create();
+  public final InstanceKind kind;
+  private UUID id;
+
+  private OPPObjectInstance(InstanceKind type) {
+    this.kind = type;
+    this.id = UUID.randomUUID();
   }
 
-  // Creation
-  public static OPPObjectInstance createCompositeInstance() {
-    return new OPPObjectInstance(InstanceType.COMPOSITE);
+  public String getId() {
+    return id.toString();
   }
 
-  public static OPPObjectInstance createCollectionInstace() {
-    return new OPPObjectInstance(InstanceType.COLLECTION);
+  // Creation
+  public static OPPObjectInstance createCompositeInstance() {
+    return new OPPObjectInstance(InstanceKind.COMPOSITE);
   }
 
   public static OPPObjectInstance createFromValue(BigDecimal decimalValue) {
     Preconditions.checkNotNull(decimalValue, "Value cannot be null.");
-    OPPObjectInstance instance = new OPPObjectInstance(InstanceType.NUMERICAL);
+    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.NUMERICAL);
     instance.setValue(decimalValue);
     return instance;
   }
 
   public static OPPObjectInstance createFromValue(String stringValue) {
     Preconditions.checkNotNull(stringValue, "Value cannot be null.");
-    OPPObjectInstance instance = new OPPObjectInstance(InstanceType.STRING);
+    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.STRING);
     instance.setValue(stringValue);
     return instance;
   }
 
+  public static OPPObjectInstance createFromValue(Object object) {
+    Preconditions.checkNotNull(object);
+    OPPObjectInstance instance = new OPPObjectInstance(InstanceKind.JAVA_OBJECT);
+    instance.setValue(object);
+    return instance;
+  }
+
   public static OPPObjectInstance createFromExistingInstance(OPPObjectInstance existingInstance) {
     Preconditions.checkNotNull(existingInstance, "Existing instance cannot be null.");
     OPPObjectInstance newInstance = null;
-    switch(existingInstance.type) {
+    switch (existingInstance.kind) {
     case NUMERICAL:
       newInstance = createFromValue(existingInstance.getNumericalValue());
       break;
     case STRING:
       newInstance = createFromValue(existingInstance.getStringValue());
       break;
+    case JAVA_OBJECT:
+      newInstance = createFromValue(existingInstance.getValue());
+      break;
     case COMPOSITE:
       newInstance = createCompositeInstance();
-      for(Entry<String, OPPObjectInstance> part : existingInstance.getCompositeParts()) {
-        newInstance.addCompositePart(part.getKey(), createFromExistingInstance(part.getValue()));
+      for (Integer index : existingInstance.compositeValues.keySet()) {
+        newInstance.compositeValues.put(index, existingInstance.compositeValues.get(index));
+        newInstance.compositeKeyToIndexMapping.inverse().put(index, existingInstance.compositeKeyToIndexMapping.inverse().get(index));
       }
+    default:
       break;
-    case COLLECTION:
-      newInstance = createCollectionInstace();
-      for(Integer index : existingInstance.collectionValues.keySet()) {
-        newInstance.collectionValues.put(index, existingInstance.collectionValues.get(index));
-        newInstance.collectionNameToIndexMapping.inverse().put(index,
-            existingInstance.collectionNameToIndexMapping.inverse().get(index));
-      }
     }
 
     return newInstance;
@@ -109,20 +110,20 @@ public Object getValue() {
 
   public String getStringValue() {
     checkTypeForValueOnlyOperations();
-    if(InstanceType.STRING.equals(type)) {
-      return String.class.cast(getValue());
-    } else if(InstanceType.NUMERICAL.equals(type)) {
-      return BigDecimal.class.cast(getValue()).toString();
+    if (InstanceKind.STRING.equals(kind)) {
+      return (String) getValue();
+    } else if (InstanceKind.NUMERICAL.equals(kind)) {
+      return ((BigDecimal) getValue()).toString();
     } else {
       throw new IllegalStateException("Cannot fetch value of an instance that is not a value");
     }
   }
 
   public BigDecimal getNumericalValue() {
     checkTypeForValueOnlyOperations();
-    if(InstanceType.STRING.equals(type)) {
+    if (InstanceKind.STRING.equals(kind)) {
       return new BigDecimal(String.class.cast(getValue()));
-    } else if(InstanceType.NUMERICAL.equals(type)) {
+    } else if (InstanceKind.NUMERICAL.equals(kind)) {
       return BigDecimal.class.cast(getValue());
     } else {
       throw new IllegalStateException("Cannot fetch value of an instance that is not a value");
@@ -133,140 +134,142 @@ public boolean isValue() {
     return value != null;
   }
 
-  // Composite
-  public void addCompositePart(String name, OPPObjectInstance part) {
-    checkTypeForCompositeOnlyOperations();
-    checkNotNull(name);
-    checkNotNull(part);
-    parts.put(name, part);
-  }
-
-  public OPPObjectInstance getCompositePart(String name) {
+  // Compound
+  public void addFirstPart(OPPObjectInstance value) {
     checkTypeForCompositeOnlyOperations();
-    checkNotNull(name, "Part name cannot be null");
-    checkArgument(!"".equals(name), "Part name cannot be empty");
-    return parts.get(name);
+    checkNotNull(value, "Cannot append a null element to a collection.");
+    Integer firstKey = 0;
+    if (compositeValues.size() > 0) {
+      firstKey = compositeValues.firstKey();
+    }
+    int newKey = firstKey - 1;
+    compositeValues.put(newKey, value);
+    compositeKeyToIndexMapping.put(UUID.randomUUID().toString(), newKey);
   }
 
-  public Set<Entry<String, OPPObjectInstance>> getCompositeParts() {
+  public void addLastPart(OPPObjectInstance value) {
     checkTypeForCompositeOnlyOperations();
-    return Collections.unmodifiableSet(parts.entrySet());
-  }
-
-  // Collection
-  public int appendCollectionElement(OPPObjectInstance value) {
-    checkTypeForCollectionOnlyOperations();
     checkNotNull(value, "Cannot append a null element to a collection.");
     Integer lastKey = 0;
-    if(collectionValues.size() > 0) {
-      lastKey = collectionValues.lastKey();
+    if (compositeValues.size() > 0) {
+      lastKey = compositeValues.lastKey();
     }
     int newKey = lastKey + 1;
-    collectionValues.put(newKey, value);
-    collectionNameToIndexMapping.put(UUID.randomUUID().toString(), newKey);
-    return newKey;
+    compositeValues.put(newKey, value);
+    compositeKeyToIndexMapping.put(UUID.randomUUID().toString(), newKey);
   }
 
-  public void putCollectionElement(String name, OPPObjectInstance value) {
-    checkTypeForCollectionOnlyOperations();
+  public void setPart(String name, OPPObjectInstance value) {
+    checkTypeForCompositeOnlyOperations();
     checkState((name != null) && !("".equals(name)), "Named location of element must not be null or empty.");
     checkNotNull(value, "Cannot put a null element to a collection.");
-    if(collectionNameToIndexMapping.containsKey(name)) {
-      collectionValues.remove(collectionNameToIndexMapping.get(name));
-      collectionNameToIndexMapping.remove(name);
+    if (compositeKeyToIndexMapping.containsKey(name)) {
+      compositeValues.remove(compositeKeyToIndexMapping.get(name));
+      compositeKeyToIndexMapping.remove(name);
     }
-    int index = appendCollectionElement(value);
-    collectionNameToIndexMapping.inverse().remove(index);
-    collectionNameToIndexMapping.put(name, index);
+    int lastKey = 0;
+    if (compositeValues.size() > 0) {
+      lastKey = compositeValues.lastKey();
+    }
+    int newKey = lastKey + 1;
+    compositeValues.put(newKey, value);
+    compositeKeyToIndexMapping.put(name, newKey);
   }
 
-  public void putCollectionElementAtIndex(int index, OPPObjectInstance value) {
-    checkTypeForCollectionOnlyOperations();
-    checkNotNull(value, "Cannot insert a null element to a collection.");
-    if(collectionValues.containsKey(index)) {
-      collectionValues.remove(index);
-      collectionNameToIndexMapping.inverse().remove(index);
-    }
-    collectionValues.put(index, value);
-    collectionNameToIndexMapping.put(UUID.randomUUID().toString(), index);
+  public OPPObjectInstance getPart(String key) {
+    checkTypeForCompositeOnlyOperations();
+    checkState((key != null) && (!"".equals(key)), "Key cannot be null or empty.");
+    return compositeValues.get(compositeKeyToIndexMapping.get(key));
+  }
 
+  public OPPObjectInstance getFirstPart() {
+    checkTypeForCompositeOnlyOperations();
+    return compositeValues.get(compositeValues.firstKey());
   }
 
-  public OPPObjectInstance getCollectionElement(String name) {
-    checkTypeForCollectionOnlyOperations();
-    checkState((name != null) && !("".equals(name)), "Named location of element must not be null or empty.");
-    checkState(collectionNameToIndexMapping.containsKey(name), "Collection does contain a value at index %s.", name);
-    return collectionValues.get(collectionNameToIndexMapping.get(name));
+  public OPPObjectInstance getLastPart() {
+    checkTypeForCompositeOnlyOperations();
+    return compositeValues.get(compositeValues.lastKey());
   }
 
-  public OPPObjectInstance getCollectionElementAtIndex(int index) {
-    checkTypeForCollectionOnlyOperations();
-    return collectionValues.get(index);
+  public Collection<OPPObjectInstance> getAllParts() {
+    checkTypeForCompositeOnlyOperations();
+    return Collections.unmodifiableCollection(compositeValues.values());
   }
 
-  public OPPObjectInstance getCollectionFirstElement() {
-    checkTypeForCollectionOnlyOperations();
-    return collectionValues.get(collectionValues.firstKey());
+  public Set<String> getAllPartIndexes() {
+    checkTypeForCompositeOnlyOperations();
+    return Collections.unmodifiableSet(compositeKeyToIndexMapping.keySet());
   }
 
-  public OPPObjectInstance getLastCollectionElement() {
-    checkTypeForCollectionOnlyOperations();
-    return collectionValues.get(collectionValues.lastKey());
+  public void removePart(OPPObjectInstance key) {
+    checkTypeForCompositeOnlyOperations();
+    checkState(key != null, "Key cannot be null.");
+    switch (key.kind) {
+    case STRING:
+    case NUMERICAL:
+      removePart(key.getStringValue());
+      break;
+    case COMPOSITE:
+      removePart(key.getId());
+      break;
+    case JAVA_OBJECT:
+      throw new OPPRuntimeException("Java object keys are not supported.");
+    }
   }
 
-  public Collection<OPPObjectInstance> getCollectionAllElements() {
-    checkTypeForCollectionOnlyOperations();
-    return Collections.unmodifiableCollection(collectionValues.values());
+  public void removePart(String key) {
+    checkTypeForCompositeOnlyOperations();
+    checkState((key != null) && ("".equals(key)), "Key cannot be null or empty.");
+    Integer index = compositeKeyToIndexMapping.get(key);
+    compositeValues.remove(index);
+    compositeKeyToIndexMapping.remove(key);
+  }
+
+  public OPPObjectInstance removeFirstPart() {
+    checkTypeForCompositeOnlyOperations();
+    Integer firstIndex = compositeValues.firstKey();
+    OPPObjectInstance firstInstance = compositeValues.remove(firstIndex);
+    compositeKeyToIndexMapping.inverse().remove(firstIndex);
+    return firstInstance;
   }
 
-  public Set<String> getCollectionAllIndexes() {
-    checkTypeForCollectionOnlyOperations();
-    return Collections.unmodifiableSet(collectionNameToIndexMapping.keySet());
+  public OPPObjectInstance removeLastPart() {
+    checkTypeForCompositeOnlyOperations();
+    Integer lastIndex = compositeValues.lastKey();
+    OPPObjectInstance lastInstance = compositeValues.remove(lastIndex);
+    compositeKeyToIndexMapping.inverse().remove(lastIndex);
+    return lastInstance;
   }
 
   // General
   @Override
   public String toString() {
-    if(InstanceType.STRING.equals(type) || InstanceType.NUMERICAL.equals(type))
+    if (InstanceKind.STRING.equals(kind) || InstanceKind.NUMERICAL.equals(kind)) {
       return value.toString();
-    else if(InstanceType.COMPOSITE.equals(type)) {
+    } else if (InstanceKind.COMPOSITE.equals(kind)) {
       StringBuilder ret = new StringBuilder("{");
-      for(String partName : parts.keySet()) {
-        ret.append(partName + ":" + parts.get(partName) + ",");
-      }
-      ret.replace(ret.length() - 1, ret.length(), "}");
-      return ret.toString();
-    } else if(InstanceType.COLLECTION.equals(type)) {
-      StringBuilder ret = new StringBuilder("[");
-      for(OPPObjectInstance element : collectionValues.values()) {
-        ret.append(element.toString() + ",");
+      for (Integer index : compositeValues.keySet()) {
+        ret.append(compositeKeyToIndexMapping.inverse().get(index).toString() + ":" + compositeValues.get(index).toString() + ",");
       }
-      if(ret.length() > 2)
-        ret.replace(ret.length() - 1, ret.length(), "]");
+      if (ret.length() > 2)
+        ret.replace(ret.length() - 1, ret.length(), "}");
       return ret.toString();
     } else {
       return super.toString();
     }
   }
 
   private void checkTypeForValueOnlyOperations() {
-    checkState(!InstanceType.COLLECTION.equals(type),
-        "Instance is a collection but operation is only valid for value instances.");
-    checkState(!InstanceType.COMPOSITE.equals(type),
-        "Instance is a collection but operation is only valid for value instances.");
+    checkState(!InstanceKind.COMPOSITE.equals(kind), "Instance is a collection but operation is only valid for value instances.");
   }
 
   private void checkTypeForCompositeOnlyOperations() {
-    checkState(InstanceType.COMPOSITE.equals(type), "Composite operations can only be applied to composite instances.");
-  }
-
-  private void checkTypeForCollectionOnlyOperations() {
-    checkState(InstanceType.COLLECTION.equals(type),
-        "Collection operations can only be applied to collection instances.");
+    checkState(InstanceKind.COMPOSITE.equals(kind), "Collection operations can only be applied to collection instances.");
   }
 
-  public enum InstanceType {
-    NUMERICAL, STRING, COMPOSITE, COLLECTION;
+  public enum InstanceKind {
+    NUMERICAL, STRING, JAVA_OBJECT, COMPOSITE;
   }
 
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstance.java
705a5770a9fa3ef16a1324e90fb776c19a66c18b
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceValueAnalyzer.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceValueAnalyzer.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPObjectInstanceValueAnalyzer.java
    if (value.startsWith("\"") || value.startsWith("'"))
    if (start <= end) {
      for (int i = start; i <= end; i++) {
      for (int i = start; i >= end; i--) {
    if (objectName != null && !"".equals(objectName)) {
      if (isStringLiteral(objectName)) {
      } else if (isNumericalLiteral(objectName)) {
      } else if (isCollectionLiteral(objectName)) {
        objectInstance = OPPObjectInstance.createCompositeInstance();
        for (BigDecimal value : parseCollectionLiteral(objectName)) {
          objectInstance.addLastPart(OPPObjectInstance.createFromValue(value));
      for (OPPState state : states) {
        if (state.isValue()) {
    if (isStringLiteral(value)) {
    } else if (isNumericalLiteral(value)) {
    } else if (isCollectionLiteral(value)) {
      objectInstance = OPPObjectInstance.createCompositeInstance();
      for (BigDecimal v : parseCollectionLiteral(value)) {
        objectInstance.addLastPart(OPPObjectInstance.createFromValue(v));
    if (isNumericalLiteral(stateName)) {
      switch (split[1]) {
    if (instance == null) {
    if (isStringLiteral(state.getName()) || state.getName().matches("[a-zA-Z]+")) {
      return (parseStringLiteral(state.getName()).equals(instance.getValue()) || state.getName().equals(instance.getValue()));

    if(value.startsWith("\"") || value.startsWith("'"))
    if(start <= end) {
      for(int i = start; i <= end; i++) {
      for(int i = start; i >= end; i--) {
    if(objectName != null && !"".equals(objectName)) {
      if(isStringLiteral(objectName)) {
      } else if(isNumericalLiteral(objectName)) {
      } else if(isCollectionLiteral(objectName)) {
        objectInstance = OPPObjectInstance.createCollectionInstace();
        for(BigDecimal value : parseCollectionLiteral(objectName)) {
          objectInstance.appendCollectionElement(OPPObjectInstance.createFromValue(value));
      for(OPPState state : states) {
        if(state.isValue()) {
    if(isStringLiteral(value)) {
    } else if(isNumericalLiteral(value)) {
    } else if(isCollectionLiteral(value)) {
      objectInstance = OPPObjectInstance.createCollectionInstace();
      for(BigDecimal v : parseCollectionLiteral(value)) {
        objectInstance.appendCollectionElement(OPPObjectInstance.createFromValue(v));
    if(isNumericalLiteral(stateName)) {
      switch(split[1]) {
    if(instance == null) {
    if(isStringLiteral(state.getName()) || state.getName().matches("[a-zA-Z]+")) {
      return (parseStringLiteral(state.getName()).equals(instance.getValue()) || state.getName().equals(
          instance.getValue()));

@@ -35,7 +35,7 @@ public class OPPObjectInstanceValueAnalyzer {
    *         <code>false</code> otherwise.
    */
   public boolean isStringLiteral(String value) {
-    if(value.startsWith("\"") || value.startsWith("'"))
+    if (value.startsWith("\"") || value.startsWith("'"))
       return true;
     else
       return false;
@@ -97,12 +97,12 @@ public List<BigDecimal> parseCollectionLiteral(String literal) {
     String[] indices = literal.split("\\.\\.");
     int start = Integer.parseInt(indices[0]);
     int end = Integer.parseInt(indices[1]);
-    if(start <= end) {
-      for(int i = start; i <= end; i++) {
+    if (start <= end) {
+      for (int i = start; i <= end; i++) {
         collection.add(new BigDecimal(i));
       }
     } else {
-      for(int i = start; i >= end; i--) {
+      for (int i = start; i >= end; i--) {
         collection.add(new BigDecimal(i));
       }
     }
@@ -123,21 +123,21 @@ public OPPObjectInstance calculateOPMObjectValue(OPPObject object, OPPOPDAnalyze
     OPPObjectInstance objectInstance = null;
 
     String objectName = object.getName();
-    if(objectName != null && !"".equals(objectName)) {
-      if(isStringLiteral(objectName)) {
+    if (objectName != null && !"".equals(objectName)) {
+      if (isStringLiteral(objectName)) {
         objectInstance = OPPObjectInstance.createFromValue(parseStringLiteral(objectName));
-      } else if(isNumericalLiteral(objectName)) {
+      } else if (isNumericalLiteral(objectName)) {
         objectInstance = OPPObjectInstance.createFromValue(parseNumericalLiteral(objectName));
-      } else if(isCollectionLiteral(objectName)) {
-        objectInstance = OPPObjectInstance.createCollectionInstace();
-        for(BigDecimal value : parseCollectionLiteral(objectName)) {
-          objectInstance.appendCollectionElement(OPPObjectInstance.createFromValue(value));
+      } else if (isCollectionLiteral(objectName)) {
+        objectInstance = OPPObjectInstance.createCompositeInstance();
+        for (BigDecimal value : parseCollectionLiteral(objectName)) {
+          objectInstance.addLastPart(OPPObjectInstance.createFromValue(value));
         }
       }
     } else {
       Collection<OPPState> states = analyzer.findStates(object);
-      for(OPPState state : states) {
-        if(state.isValue()) {
+      for (OPPState state : states) {
+        if (state.isValue()) {
           objectInstance = OPPObjectInstance.createFromValue(state.getName());
         }
       }
@@ -159,14 +159,14 @@ public OPPObjectInstance calculateOPMObjectValue(String value) {
     logFinest("Calculating value of {0}.", value);
     checkArgument((value != null) && (!"".equals(value)), "Value cannot be null or empty.");
     OPPObjectInstance objectInstance = null;
-    if(isStringLiteral(value)) {
+    if (isStringLiteral(value)) {
       objectInstance = OPPObjectInstance.createFromValue(parseStringLiteral(value));
-    } else if(isNumericalLiteral(value)) {
+    } else if (isNumericalLiteral(value)) {
       objectInstance = OPPObjectInstance.createFromValue(parseNumericalLiteral(value));
-    } else if(isCollectionLiteral(value)) {
-      objectInstance = OPPObjectInstance.createCollectionInstace();
-      for(BigDecimal v : parseCollectionLiteral(value)) {
-        objectInstance.appendCollectionElement(OPPObjectInstance.createFromValue(v));
+    } else if (isCollectionLiteral(value)) {
+      objectInstance = OPPObjectInstance.createCompositeInstance();
+      for (BigDecimal v : parseCollectionLiteral(value)) {
+        objectInstance.addLastPart(OPPObjectInstance.createFromValue(v));
       }
     } else {
       logInfo("Assume this is a string with no enclosing quotes.");
@@ -188,15 +188,15 @@ public OPPObjectInstance calculateOPMObjectValue(String value) {
    */
   public boolean isObjectNumericalValueInState(String stateName, BigDecimal value) {
     logFinest("Checking numerical state {0} against value {1}.", stateName, value);
-    if(isNumericalLiteral(stateName)) {
+    if (isNumericalLiteral(stateName)) {
       return parseNumericalLiteral(stateName).equals(value);
     } else {
       // state name is a numerical logical expression
       // supported expressions are: x < NUM, x <= NUM, x > NUM, x >= NUM. Spaces
       // are MANDATORY
       String[] split = stateName.split(" ");
       BigDecimal number = new BigDecimal(split[2]);
-      switch(split[1]) {
+      switch (split[1]) {
       case "<":
         return value.compareTo(number) == -1;
       case "<=":
@@ -234,12 +234,11 @@ public boolean isObjectNumericalValueInState(String stateName, BigDecimal value)
    *         false</code> otherwise.
    */
   public boolean isObjectInstanceInState(OPPObjectInstance instance, OPPState state) {
-    if(instance == null) {
+    if (instance == null) {
       return false;
     }
-    if(isStringLiteral(state.getName()) || state.getName().matches("[a-zA-Z]+")) {
-      return (parseStringLiteral(state.getName()).equals(instance.getValue()) || state.getName().equals(
-          instance.getValue()));
+    if (isStringLiteral(state.getName()) || state.getName().matches("[a-zA-Z]+")) {
+      return (parseStringLiteral(state.getName()).equals(instance.getValue()) || state.getName().equals(instance.getValue()));
     } else {
       return isObjectNumericalValueInState(state.getName(), BigDecimal.class.cast(instance.getValue()));
     }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPObjectInstanceValueAnalyzer.java
345ff02d8b7b847bb0b87abc502a98964e230e63
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPParameter.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPParameter.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPParameter.java
  public OPPParameter(String name) {

  public OPPParameter(String name, boolean isCollection) {
    this.isCollection = isCollection;

  public boolean isCollection() {
    return isCollection;
  }


String name  boolean isCollection
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPParameter.java
this.isCollection = isCollection;

  public boolean isCollection() {
    return isCollection;
public OPPParameter(String name, boolean isCollection)
@@ -4,17 +4,11 @@ public class OPPParameter {
   String name;
   boolean isCollection;
 
-  public OPPParameter(String name, boolean isCollection) {
+  public OPPParameter(String name) {
     this.name = name;
-    this.isCollection = isCollection;
   }
 
   public String getName() {
     return name;
   }
-
-  public boolean isCollection() {
-    return isCollection;
-  }
-
 }
\ No newline at end of file
https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPParameter.java
ba7ee5eeade749170441765d64b53d513af9e5e8
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPProcessInstance.java
  List<OPPParameter> getIncomingParameters();
  List<OPPParameter> getOutgoingParameters();

  List<OPPParameter> getIncomingParameterNames();
  List<OPPParameter> getOutgoingParameterNames();

  /**
   * Check if the instance is ready for execution
   * 
   * @return <code>true</code> if all required parameters are available,
   *         <code>false</code> otherwise.
   */
  boolean isReady();

@@ -44,15 +44,15 @@ public interface OPPProcessInstance extends Callable<OPPProcessExecutionResult>
    * 
    * @return a list of the incoming parameter names.
    */
-  List<OPPParameter> getIncomingParameterNames();
+  List<OPPParameter> getIncomingParameters();
 
   /**
    * Get a list of the names of all the outgoing parameters of this
    * {@link OPPProcessInstance}.
    * 
    * @return a list of the outgoing parameter names.
    */
-  List<OPPParameter> getOutgoingParameterNames();
+  List<OPPParameter> getOutgoingParameters();
 
   /**
    * Get the name of the OPD/Process
@@ -65,12 +65,4 @@ public interface OPPProcessInstance extends Callable<OPPProcessExecutionResult>
    * Set the name of the Process.
    */
   void setName(String name);
-
-  /**
-   * Check if the instance is ready for execution
-   * 
-   * @return <code>true</code> if all required parameters are available,
-   *         <code>false</code> otherwise.
-   */
-  boolean isReady();
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstance.java
b4e6204c3d1150d56ad74226ab289349902bd394
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstanceFactory.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstanceFactory.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPProcessInstanceFactory.java
import com.vainolo.phd.opp.interpreter.builtin.OPPBinaryMathOpProcessInstance.OPPBinaryMathOpType;
    switch (opd.getKind()) {
    OPPObjectProcessDiagram opd = OPPFileUtils.loadOPPFile(OPPInterpreter.container.getFile(new Path(opdName + ".opp")).getFullPath().toString());
    switch (process.getKind()) {
    if (process.getName().equals("Input")) {
    } else if (process.getName().equals("Output") || process.getName().equals("Dialog") || process.getName().equals("Print")) {
    } else if (process.getName().equals("+")) {
      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.ADD);
    } else if (process.getName().equals("-")) {
      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.SUBS);
    } else if (process.getName().equals("*")) {
    } else if (process.getName().equals("/")) {
    } else if (process.getName().equals("^")) {
    } else if (process.getName().equals("Sleep")) {
    } else if (process.getName().equals("Hello World")) {
    } else if (process.getName().equals("Create") || process.getName().equals("New")) {
    } else if (process.getName().equals("<=")) {
    } else if (process.getName().equals(">=")) {
    } else if (process.getName().equals(">")) {
    } else if (process.getName().equals("<")) {
    } else if (process.getName().equals("==")) {

import com.vainolo.phd.opp.interpreter.builtin.OPPBinaryMathOpType;
    switch(opd.getKind()) {
    OPPObjectProcessDiagram opd = OPPFileUtils.loadOPPFile(OPPInterpreter.container.getFile(new Path(opdName + ".opm"))
        .getFullPath().toString());
    switch(process.getKind()) {
    if(process.getName().equals("Input")) {
    } else if(process.getName().equals("Output") || process.getName().equals("Dialog")
        || process.getName().equals("Print")) {
    } else if(process.getName().equals("+")) {
      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.ADD);// OPMAddProcessInstance();
    } else if(process.getName().equals("-")) {
      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.SUBS);// OPMSubstractProcessInstance();
    } else if(process.getName().equals("*")) {
    } else if(process.getName().equals("/")) {
    } else if(process.getName().equals("^")) {
    } else if(process.getName().equals("Sleep")) {
    } else if(process.getName().equals("Hello World")) {
    } else if(process.getName().equals("Create") || process.getName().equals("New")) {
    } else if(process.getName().equals("<=")) {
    } else if(process.getName().equals(">=")) {
    } else if(process.getName().equals(">")) {
    } else if(process.getName().equals("<")) {
    } else if(process.getName().equals("==")) {

@@ -9,7 +9,7 @@
 
 import org.eclipse.core.runtime.Path;
 
-import com.vainolo.phd.opp.interpreter.builtin.OPPBinaryMathOpType;
+import com.vainolo.phd.opp.interpreter.builtin.OPPBinaryMathOpProcessInstance.OPPBinaryMathOpType;
 import com.vainolo.phd.opp.interpreter.builtin.OPPBinaryMathOpProcessInstance;
 import com.vainolo.phd.opp.interpreter.builtin.OPPCompareProcessInstance;
 import com.vainolo.phd.opp.interpreter.builtin.OPPConceptualProcess;
@@ -28,7 +28,7 @@
 public class OPPProcessInstanceFactory {
 
   public static OPPProcessInstance createExecutableInstance(OPPObjectProcessDiagram opd) {
-    switch(opd.getKind()) {
+    switch (opd.getKind()) {
     case COMPOUND:
       return new OPPInZoomedProcessExecutableInstance(opd, new OPPOPDAnalyzer());
     case UNFOLDED:
@@ -42,15 +42,14 @@ public static OPPProcessInstance createExecutableInstance(OPPObjectProcessDiagra
   }
 
   public static OPPProcessInstance createExecutableInstance(String opdName) {
-    OPPObjectProcessDiagram opd = OPPFileUtils.loadOPPFile(OPPInterpreter.container.getFile(new Path(opdName + ".opm"))
-        .getFullPath().toString());
+    OPPObjectProcessDiagram opd = OPPFileUtils.loadOPPFile(OPPInterpreter.container.getFile(new Path(opdName + ".opp")).getFullPath().toString());
     return createExecutableInstance(opd);
 
   }
 
   public static OPPProcessInstance createExecutableInstance(OPPProcess process) {
     OPPProcessInstance executableInstance = null;
-    switch(process.getKind()) {
+    switch (process.getKind()) {
     case BUILT_IN:
       executableInstance = createBuiltInProcess(process);
       break;
@@ -71,38 +70,37 @@ public static OPPProcessInstance createExecutableInstance(OPPProcess process) {
   private static OPPProcessInstance createBuiltInProcess(final OPPProcess process) {
     OPPProcessInstance processInstance;
 
-    if(process.getName().equals("Input")) {
+    if (process.getName().equals("Input")) {
       processInstance = OPPInterpreterInjector.INSTANCE.getInstance(OPPInputProcessInstance.class);
-    } else if(process.getName().equals("Output") || process.getName().equals("Dialog")
-        || process.getName().equals("Print")) {
+    } else if (process.getName().equals("Output") || process.getName().equals("Dialog") || process.getName().equals("Print")) {
       processInstance = new OPPOutputProcessInstance();
       processInstance.setName(process.getName());
-    } else if(process.getName().equals("+")) {
-      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.ADD);// OPMAddProcessInstance();
-    } else if(process.getName().equals("-")) {
-      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.SUBS);// OPMSubstractProcessInstance();
-    } else if(process.getName().equals("*")) {
+    } else if (process.getName().equals("+")) {
+      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.ADD);
+    } else if (process.getName().equals("-")) {
+      processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.SUBS);
+    } else if (process.getName().equals("*")) {
       processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.MULT);
-    } else if(process.getName().equals("/")) {
+    } else if (process.getName().equals("/")) {
       processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.DIV);
-    } else if(process.getName().equals("^")) {
+    } else if (process.getName().equals("^")) {
       processInstance = new OPPBinaryMathOpProcessInstance(OPPBinaryMathOpType.POW);
-    } else if(process.getName().equals("Sleep")) {
+    } else if (process.getName().equals("Sleep")) {
       processInstance = new OPPSleepProcessInstance();
       processInstance.setName(process.getName());
-    } else if(process.getName().equals("Hello World")) {
+    } else if (process.getName().equals("Hello World")) {
       processInstance = new OPPPrintHelloWorldProcessInstance();
-    } else if(process.getName().equals("Create") || process.getName().equals("New")) {
+    } else if (process.getName().equals("Create") || process.getName().equals("New")) {
       processInstance = new OPPCreateObjectProcessInstance();
-    } else if(process.getName().equals("<=")) {
+    } else if (process.getName().equals("<=")) {
       processInstance = new OPPCompareProcessInstance(ComparisonType.LESS_THAN_OR_EQUAL);
-    } else if(process.getName().equals(">=")) {
+    } else if (process.getName().equals(">=")) {
       processInstance = new OPPCompareProcessInstance(ComparisonType.GREATER_THAN_OR_EQUAL);
-    } else if(process.getName().equals(">")) {
+    } else if (process.getName().equals(">")) {
       processInstance = new OPPCompareProcessInstance(ComparisonType.GREATER_THAN);
-    } else if(process.getName().equals("<")) {
+    } else if (process.getName().equals("<")) {
       processInstance = new OPPCompareProcessInstance(ComparisonType.LESS_THAN);
-    } else if(process.getName().equals("==")) {
+    } else if (process.getName().equals("==")) {
       processInstance = new OPPCompareProcessInstance(ComparisonType.EQUAL);
     } else {
       throw new IllegalStateException("Tried to create unexistent build-in process " + process.getName());

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstanceFactory.java
9f7b4d1e4bce3bec1d7c519ce5b90e683264c7e7
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstanceHeap.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstanceHeap.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPProcessInstanceHeap.java
    if (value == null)

    if(value == null)

@@ -15,7 +15,7 @@ public OPPProcessInstanceHeap() {
 
   public void addArgument(String name, OPPObjectInstance value) {
     logFinest("Setting argument {0} with value {1}.", name, value);
-    if(value == null)
+    if (value == null)
       return;
     arguments.put(name.toLowerCase(), OPPObjectInstance.createFromExistingInstance(value));
   }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPProcessInstanceHeap.java
36e2e26c2499fb9be3f3adf2eaac461e096dee77
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPRuntimeException.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPRuntimeException.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPRuntimeException.java

  public OPPRuntimeException() {
    super();
  }

  public OPPRuntimeException(String message) {
    super(message);
  }

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPRuntimeException.java
super();
public OPPRuntimeException()
String message
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/OPPRuntimeException.java
super(message);
public OPPRuntimeException(String message)
@@ -14,4 +14,12 @@ public class OPPRuntimeException extends RuntimeException {
   public OPPRuntimeException(Throwable cause) {
     super(cause);
   }
+
+  public OPPRuntimeException() {
+    super();
+  }
+
+  public OPPRuntimeException(String message) {
+    super(message);
+  }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2FOPPRuntimeException.java
c384fcbef45318f20073972633f3db9778cebef6
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPBinaryMathOpProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPBinaryMathOpProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPBinaryMathOpProcessInstance.java
    switch (opType) {
  public List<OPPParameter> getIncomingParameters() {
    return Lists.newArrayList(new OPPParameter("a"), new OPPParameter("b"));
  public List<OPPParameter> getOutgoingParameters() {
    return Lists.newArrayList(new OPPParameter("c"));
  public static enum OPPBinaryMathOpType {
    ADD, SUBS, MULT, DIV, POW;

    public String getName() {
      switch (this) {
      case ADD:
        return "Add";
      case SUBS:
        return "Subtract";
      case MULT:
        return "Multiply";
      case DIV:
        return "Divide";
      case POW:
        return "Power";
      }
      throw new IllegalStateException("This should NEVER happen!");
    }


com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPBinaryMathOpProcessInstance.java
switch (this) {
      case ADD:
        return "Add";
      case SUBS:
        return "Subtract";
      case MULT:
        return "Multiply";
      case DIV:
        return "Divide";
      case POW:
        return "Power";
String getName()
    switch(opType) {
  public boolean isReady() {
    return (getArgument("a") != null) && (getArgument("b") != null);
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
  @Override
  public List<OPPParameter> getOutgoingParameterNames() {
    return Lists.newArrayList(new OPPParameter("c", false));

@@ -24,7 +24,7 @@ public void executing() {
     BigDecimal a = getArgument("a").getNumericalValue();
     BigDecimal b = getArgument("b").getNumericalValue();
     BigDecimal c = null;
-    switch(opType) {
+    switch (opType) {
     case ADD:
       c = a.add(b);
       break;
@@ -51,17 +51,33 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return (getArgument("a") != null) && (getArgument("b") != null);
+  public List<OPPParameter> getIncomingParameters() {
+    return Lists.newArrayList(new OPPParameter("a"), new OPPParameter("b"));
   }
 
   @Override
-  public List<OPPParameter> getIncomingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
+  public List<OPPParameter> getOutgoingParameters() {
+    return Lists.newArrayList(new OPPParameter("c"));
   }
 
-  @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("c", false));
+  public static enum OPPBinaryMathOpType {
+    ADD, SUBS, MULT, DIV, POW;
+
+    public String getName() {
+      switch (this) {
+      case ADD:
+        return "Add";
+      case SUBS:
+        return "Subtract";
+      case MULT:
+        return "Multiply";
+      case DIV:
+        return "Divide";
+      case POW:
+        return "Power";
+      }
+      throw new IllegalStateException("This should NEVER happen!");
+    }
   }
+
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPBinaryMathOpProcessInstance.java
2e0856199484a683018f92b009d65ae662677c6b
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPCompareProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPCompareProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPCompareProcessInstance.java
    switch (comparisonType) {
    if (result) {
  public List<OPPParameter> getIncomingParameters() {
    return Lists.newArrayList(new OPPParameter("a"), new OPPParameter("b"));
  public List<OPPParameter> getOutgoingParameters() {
    return Lists.newArrayList(new OPPParameter("c"));

    switch(comparisonType) {
    if(result) {
  public boolean isReady() {
    return (getArgument("a") != null) && (getArgument("b") != null);
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
  }

  @Override
  public List<OPPParameter> getOutgoingParameterNames() {
    return Lists.newArrayList(new OPPParameter("c", false));

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPCompareProcessInstance.java
return (getArgument("a") != null) && (getArgument("b") != null);
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
boolean isReady()
@@ -39,7 +39,7 @@ public void executing() {
     OPPObjectInstance c;
 
     boolean result = false;
-    switch(comparisonType) {
+    switch (comparisonType) {
     case EQUAL:
       result = (a.compareTo(b) == 0);
       break;
@@ -59,7 +59,7 @@ public void executing() {
       break;
     }
 
-    if(result) {
+    if (result) {
       c = OPPObjectInstance.createFromValue("true");
     } else {
       c = OPPObjectInstance.createFromValue("false");
@@ -73,17 +73,12 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return (getArgument("a") != null) && (getArgument("b") != null);
+  public List<OPPParameter> getIncomingParameters() {
+    return Lists.newArrayList(new OPPParameter("a"), new OPPParameter("b"));
   }
 
   @Override
-  public List<OPPParameter> getIncomingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
-  }
-
-  @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("c", false));
+  public List<OPPParameter> getOutgoingParameters() {
+    return Lists.newArrayList(new OPPParameter("c"));
   }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPCompareProcessInstance.java
05074fb9c74f20f7e1619a27dd6d489b0de4a6d7
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPConceptualProcess.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPConceptualProcess.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPConceptualProcess.java

  @Override
  public boolean isReady() {
    return true;
  }

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPConceptualProcess.java
return true;
boolean isReady()
@@ -35,9 +35,4 @@ protected void executing() {
   public String getName() {
     return process.getName();
   }
-
-  @Override
-  public boolean isReady() {
-    return true;
-  }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPConceptualProcess.java
afd6de2c4860916de09db12f5d6c851b66ef91f5
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPCreateObjectProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPCreateObjectProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPCreateObjectProcessInstance.java
  public List<OPPParameter> getOutgoingParameters() {
    return Lists.newArrayList(new OPPParameter("object"));

  public boolean isReady() {
    return true;
  }

  @Override
  public List<OPPParameter> getOutgoingParameterNames() {
    return Lists.newArrayList(new OPPParameter("object", false));

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPCreateObjectProcessInstance.java
return true;
boolean isReady()
@@ -25,12 +25,7 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return true;
-  }
-
-  @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("object", false));
+  public List<OPPParameter> getOutgoingParameters() {
+    return Lists.newArrayList(new OPPParameter("object"));
   }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPCreateObjectProcessInstance.java
5b9e519d0657a022d6d2ee98146110a1dd884306
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPInputProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPInputProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPInputProcessInstance.java
  public List<OPPParameter> getOutgoingParameters() {
    return Lists.newArrayList(new OPPParameter("text"));

  public boolean isReady() {
    return true;
  }

  @Override
  public List<OPPParameter> getOutgoingParameterNames() {
    return Lists.newArrayList(new OPPParameter("text", false));

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPInputProcessInstance.java
return true;
boolean isReady()
@@ -52,12 +52,7 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return true;
-  }
-
-  @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("text", false));
+  public List<OPPParameter> getOutgoingParameters() {
+    return Lists.newArrayList(new OPPParameter("text"));
   }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPInputProcessInstance.java
821020bd2c6ef122f62b2c884be9b1b34cbab5b1
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPOutputProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPOutputProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPOutputProcessInstance.java
  public List<OPPParameter> getIncomingParameters() {
    return Lists.newArrayList(new OPPParameter("text"));

  public boolean isReady() {
    return getArgument("text") != null;
  }

  @Override
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("text", false));

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPOutputProcessInstance.java
return getArgument("text") != null;
boolean isReady()
@@ -28,12 +28,7 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return getArgument("text") != null;
-  }
-
-  @Override
-  public List<OPPParameter> getIncomingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("text", false));
+  public List<OPPParameter> getIncomingParameters() {
+    return Lists.newArrayList(new OPPParameter("text"));
   }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPOutputProcessInstance.java
4c7a7de55e00d548760ed0a8c09973556e56ad86
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPPrintHelloWorldProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPPrintHelloWorldProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPPrintHelloWorldProcessInstance.java

  @Override
  public boolean isReady() {
    return true;
  }


com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPPrintHelloWorldProcessInstance.java
return true;
boolean isReady()
@@ -27,10 +27,4 @@ public void executing() {
   public String getName() {
     return "Hello World";
   }
-
-  @Override
-  public boolean isReady() {
-    return true;
-  }
-
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPPrintHelloWorldProcessInstance.java
4725f2c08976203169f01eb7ddef0ebd3cc79fbe
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPReadJSONObjectProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPReadJSONObjectProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPReadJSONObjectProcessInstance.java
    } catch (Exception e) {
    while (it.hasNext()) {
    if (member.getValue().isArray()) {
    } else if (member.getValue().isString()) {
    } else if (member.getValue().isNumber()) {
    } else if (member.getValue().isBoolean()) {
    } else if (member.getValue().isObject()) {
    whole.setPart(name, part);
    whole.setPart(name, OPPObjectInstance.createFromValue(value));
    instance.setPart(whole, OPPObjectInstance.createFromValue(new BigDecimal(value)));
    whole.setPart(name, bool);
  public List<OPPParameter> getIncomingParameters() {
    return Lists.newArrayList(new OPPParameter("json"));
  public List<OPPParameter> getOutgoingParameters() {
    return Lists.newArrayList(new OPPParameter("object"));

    } catch(Exception e) {
    while(it.hasNext()) {
    if(member.getValue().isArray()) {
    } else if(member.getValue().isString()) {
    } else if(member.getValue().isNumber()) {
    } else if(member.getValue().isBoolean()) {
    } else if(member.getValue().isObject()) {
    whole.addCompositePart(name, part);
    whole.addCompositePart(name, OPPObjectInstance.createFromValue(value));
    instance.addCompositePart(whole, OPPObjectInstance.createFromValue(new BigDecimal(value)));
    whole.addCompositePart(name, bool);
  public boolean isReady() {
    return getArgument("json") != null;
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("json", false));
  }

  @Override
  public List<OPPParameter> getOutgoingParameterNames() {
    return Lists.newArrayList(new OPPParameter("object", false));

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPReadJSONObjectProcessInstance.java
return getArgument("json") != null;
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("json", false));
boolean isReady()
@@ -28,30 +28,30 @@ protected void executing() {
       JsonObject jsonObject = JsonObject.readFrom(getArgument("json").getStringValue());
       populateOPMObjectInstanceFromJSONObject(opmObjectInstance, jsonObject);
       setArgument("object", opmObjectInstance);
-    } catch(Exception e) {
+    } catch (Exception e) {
       e.printStackTrace();
       logSevere(e.getLocalizedMessage());
     }
   }
 
   private void populateOPMObjectInstanceFromJSONObject(OPPObjectInstance opmObjectInstance, JsonObject jsonObject) {
     Iterator<Member> it = jsonObject.iterator();
-    while(it.hasNext()) {
+    while (it.hasNext()) {
       addPart(opmObjectInstance, it.next());
     }
   }
 
   private void addPart(OPPObjectInstance whole, Member member) {
     logInfo("Adding part " + member.getName() + " with value " + member.getValue().toString());
-    if(member.getValue().isArray()) {
+    if (member.getValue().isArray()) {
       throw new UnsupportedOperationException();
-    } else if(member.getValue().isString()) {
+    } else if (member.getValue().isString()) {
       addStringPart(whole, member.getName(), member.getValue().asString());
-    } else if(member.getValue().isNumber()) {
+    } else if (member.getValue().isNumber()) {
       addNumberPart(whole, member.getName(), member.getValue().asDouble());
-    } else if(member.getValue().isBoolean()) {
+    } else if (member.getValue().isBoolean()) {
       addBooleanPart(whole, member.getName(), member.getValue().asBoolean());
-    } else if(member.getValue().isObject()) {
+    } else if (member.getValue().isObject()) {
       addObjectPart(whole, member.getName(), member.getValue().asObject());
     }
     // null JSON values are ignored.
@@ -60,20 +60,20 @@ private void addPart(OPPObjectInstance whole, Member member) {
   private void addObjectPart(OPPObjectInstance whole, String name, JsonObject value) {
     OPPObjectInstance part = OPPObjectInstance.createCompositeInstance();
     populateOPMObjectInstanceFromJSONObject(part, value);
-    whole.addCompositePart(name, part);
+    whole.setPart(name, part);
   }
 
   private void addStringPart(OPPObjectInstance whole, String name, String value) {
-    whole.addCompositePart(name, OPPObjectInstance.createFromValue(value));
+    whole.setPart(name, OPPObjectInstance.createFromValue(value));
   }
 
   private void addNumberPart(OPPObjectInstance instance, String whole, double value) {
-    instance.addCompositePart(whole, OPPObjectInstance.createFromValue(new BigDecimal(value)));
+    instance.setPart(whole, OPPObjectInstance.createFromValue(new BigDecimal(value)));
   }
 
   private void addBooleanPart(OPPObjectInstance whole, String name, boolean value) {
     OPPObjectInstance bool = OPPObjectInstance.createFromValue(Boolean.toString(value));
-    whole.addCompositePart(name, bool);
+    whole.setPart(name, bool);
   }
 
   @Override
@@ -82,18 +82,13 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return getArgument("json") != null;
+  public List<OPPParameter> getIncomingParameters() {
+    return Lists.newArrayList(new OPPParameter("json"));
   }
 
   @Override
-  public List<OPPParameter> getIncomingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("json", false));
-  }
-
-  @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("object", false));
+  public List<OPPParameter> getOutgoingParameters() {
+    return Lists.newArrayList(new OPPParameter("object"));
   }
 
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPReadJSONObjectProcessInstance.java
363c184c155d5885e5967a5a2966ec413f3d74dc
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPSleepProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPSleepProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPSleepProcessInstance.java
    } catch (InterruptedException e) {
  public List<OPPParameter> getIncomingParameters() {
    return Lists.newArrayList(new OPPParameter("time"));

    } catch(InterruptedException e) {
  public boolean isReady() {
    return getArgument("time") != null;
  }

  @Override
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("time", false));

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPSleepProcessInstance.java
return getArgument("time") != null;
boolean isReady()
@@ -29,7 +29,7 @@ protected void executing() {
     logInfo("Sleeping for " + time + " seconds.");
     try {
       Thread.sleep((int) time * 1000);
-    } catch(InterruptedException e) {
+    } catch (InterruptedException e) {
       logFinest("Sleep process interrupted. Returning.");
       return;
     }
@@ -41,13 +41,8 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return getArgument("time") != null;
-  }
-
-  @Override
-  public List<OPPParameter> getIncomingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("time", false));
+  public List<OPPParameter> getIncomingParameters() {
+    return Lists.newArrayList(new OPPParameter("time"));
   }
 
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPSleepProcessInstance.java
aaf449fbec57a831da8f7e2a7dd190b407127fe1
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPSubstractProcessInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPSubstractProcessInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPSubstractProcessInstance.java
  public List<OPPParameter> getIncomingParameters() {
    return Lists.newArrayList(new OPPParameter("a"), new OPPParameter("b"));
  public List<OPPParameter> getOutgoingParameters() {
    return Lists.newArrayList(new OPPParameter("c"));

  public boolean isReady() {
    return (getArgument("a") != null) && (getArgument("b") != null);
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
  }

  @Override
  public List<OPPParameter> getOutgoingParameterNames() {
    return Lists.newArrayList(new OPPParameter("c", false));

com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPSubstractProcessInstance.java
return (getArgument("a") != null) && (getArgument("b") != null);
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
boolean isReady()
@@ -32,17 +32,12 @@ public void executing() {
   }
 
   @Override
-  public boolean isReady() {
-    return (getArgument("a") != null) && (getArgument("b") != null);
+  public List<OPPParameter> getIncomingParameters() {
+    return Lists.newArrayList(new OPPParameter("a"), new OPPParameter("b"));
   }
 
   @Override
-  public List<OPPParameter> getIncomingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("a", false), new OPPParameter("b", false));
-  }
-
-  @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("c", false));
+  public List<OPPParameter> getOutgoingParameters() {
+    return Lists.newArrayList(new OPPParameter("c"));
   }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPSubstractProcessInstance.java
b66101eff9fecf9f6101c5a9e8a070394e3879d2
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPWriteOPMObjectInstanceToJSON.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPWriteOPMObjectInstanceToJSON.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPWriteOPMObjectInstanceToJSON.java
import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceKind;
    } catch (Exception e) {
    Preconditions.checkState(opmObjectInstance.kind == InstanceKind.COMPOSITE);
    for (String partName : opmObjectInstance.getAllPartIndexes()) {
      OPPObjectInstance partValue = opmObjectInstance.getPart(partName);
      addJSONElement(jsonObject, partName, partValue);
    if (opmObject.kind == InstanceKind.STRING) {
    } else if (opmObject.kind == InstanceKind.NUMERICAL) {
    } else if (opmObject.kind == InstanceKind.COMPOSITE) {
  public List<OPPParameter> getIncomingParameters() {
    return Lists.newArrayList(new OPPParameter("object"));
  public List<OPPParameter> getOutgoingParameters() {
    return Lists.newArrayList(new OPPParameter("json"));

opmObject.kind == InstanceKind.NUMERICAL
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPWriteOPMObjectInstanceToJSON.java
else if (opmObject.kind == InstanceKind.NUMERICAL)
import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceType;
    } catch(Exception e) {
    Preconditions.checkState(opmObjectInstance.type == InstanceType.COMPOSITE);
    for(Entry<String, OPPObjectInstance> part : opmObjectInstance.getCompositeParts()) {
      String name = part.getKey();
      OPPObjectInstance value = part.getValue();
      addJSONElement(jsonObject, name, value);
    if(opmObject.type == InstanceType.STRING) {
    } else if(opmObject.type == InstanceType.NUMERICAL) {
    } else if(opmObject.type == InstanceType.COMPOSITE) {
  public boolean isReady() {
    return getArgument("object") != null;
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("object", false));
  }

  @Override
  public List<OPPParameter> getOutgoingParameterNames() {
    return Lists.newArrayList(new OPPParameter("json", false));

opmObject.type == InstanceType.NUMERICAL
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPWriteOPMObjectInstanceToJSON.java
else if(opmObject.type == InstanceType.NUMERICAL)
opmObject.type == InstanceType.COMPOSITE
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/builtin/OPPWriteOPMObjectInstanceToJSON.java
public boolean isReady() {
    return getArgument("object") != null;
  public List<OPPParameter> getIncomingParameterNames() {
    return Lists.newArrayList(new OPPParameter("object", false));
else if(opmObject.type == InstanceType.COMPOSITE)
@@ -17,7 +17,7 @@
 import com.vainolo.phd.opp.interpreter.OPPObjectInstance;
 import com.vainolo.phd.opp.interpreter.OPPParameter;
 import com.vainolo.phd.opp.interpreter.OPPProcessInstance;
-import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceType;
+import com.vainolo.phd.opp.interpreter.OPPObjectInstance.InstanceKind;
 
 public class OPPWriteOPMObjectInstanceToJSON extends OPPAbstractProcessInstance implements OPPProcessInstance {
 
@@ -27,29 +27,28 @@ protected void executing() {
     try {
       JsonObject jsonObject = populateJSONFromOPMObjectInstance(opmObjectInstance);
       setArgument("json", OPPObjectInstance.createFromValue(jsonObject.toString()));
-    } catch(Exception e) {
+    } catch (Exception e) {
       e.printStackTrace();
       logSevere(e.getLocalizedMessage());
     }
   }
 
   private JsonObject populateJSONFromOPMObjectInstance(OPPObjectInstance opmObjectInstance) {
-    Preconditions.checkState(opmObjectInstance.type == InstanceType.COMPOSITE);
+    Preconditions.checkState(opmObjectInstance.kind == InstanceKind.COMPOSITE);
     JsonObject jsonObject = new JsonObject();
-    for(Entry<String, OPPObjectInstance> part : opmObjectInstance.getCompositeParts()) {
-      String name = part.getKey();
-      OPPObjectInstance value = part.getValue();
-      addJSONElement(jsonObject, name, value);
+    for (String partName : opmObjectInstance.getAllPartIndexes()) {
+      OPPObjectInstance partValue = opmObjectInstance.getPart(partName);
+      addJSONElement(jsonObject, partName, partValue);
     }
     return jsonObject;
   }
 
   private void addJSONElement(JsonObject jsonObject, String name, OPPObjectInstance opmObject) {
-    if(opmObject.type == InstanceType.STRING) {
+    if (opmObject.kind == InstanceKind.STRING) {
       jsonObject.add(name, opmObject.getStringValue());
-    } else if(opmObject.type == InstanceType.NUMERICAL) {
+    } else if (opmObject.kind == InstanceKind.NUMERICAL) {
       jsonObject.add(name, opmObject.getNumericalValue().doubleValue());
-    } else if(opmObject.type == InstanceType.COMPOSITE) {
+    } else if (opmObject.kind == InstanceKind.COMPOSITE) {
       jsonObject.add(name, populateJSONFromOPMObjectInstance(opmObject));
     } else {
       throw new IllegalStateException();
@@ -62,18 +61,13 @@ public String getName() {
   }
 
   @Override
-  public boolean isReady() {
-    return getArgument("object") != null;
+  public List<OPPParameter> getIncomingParameters() {
+    return Lists.newArrayList(new OPPParameter("object"));
   }
 
   @Override
-  public List<OPPParameter> getIncomingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("object", false));
-  }
-
-  @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
-    return Lists.newArrayList(new OPPParameter("json", false));
+  public List<OPPParameter> getOutgoingParameters() {
+    return Lists.newArrayList(new OPPParameter("json"));
   }
 
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Fbuiltin%2FOPPWriteOPMObjectInstanceToJSON.java
5ea0702976d217675e823c968750812d6323af5e
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessArgumentHandler.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessArgumentHandler.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
import java.util.stream.Collectors;
import com.vainolo.phd.opp.interpreter.OPPRuntimeException;
    Map<String, OPPArgument> namedArguments = Maps.newHashMap();
    List<OPPArgument> anonymousArguments = Lists.newArrayList();
      OPPArgument argument = new OPPArgument(analyzer.getObject(incomingDataLink));
        throw new OPPRuntimeException("Argument modifiers are not supported.");
    List<String> availableParametersNames = instance.getIncomingParameters().stream().map(param -> param.getName())
        .collect(Collectors.toList());
  private void loadNamedArguments(OPPProcessInstance instance, Map<String, OPPArgument> namedArguments) {
  private void loadAnonymousArguments(OPPProcessInstance instance, List<OPPArgument> arguments,
      for(OPPArgument argument : arguments) {
    Map<String, OPPArgument> namedResults = Maps.newHashMap();
    List<OPPArgument> anonymousResult = Lists.newArrayList();
      OPPArgument argument = new OPPArgument(analyzer.getObject(resultLink));
        throw new OPPRuntimeException("Argument modifiers are not supported.");
    List<String> outgoingParametersNames = instance.getOutgoingParameters().stream().map(p -> p.getName())
        .collect(Collectors.toList());
      setValue(namedResults.get(namedResult), instance.getArgument(namedResult));
    // Then extract results where the variable in the instance matches the
    // result object
    Iterator<OPPArgument> anonymousResultsIterator = anonymousResult.iterator();
      OPPArgument argument = anonymousResultsIterator.next();
      if(instance.getOutgoingParameters().contains(argument.object.getName())) {
          setValue(argument, instance.getArgument(argument.object.getName()));
    // Finally, extract all remaining outgoing parameters to the remaining
    // anonymous result objects.
    for(int i = 0; i < anonymousResult.size(); i++) {
      setValue(anonymousResult.get(i), instance.getArgument(outgoingParametersNames.get(i)));
  private void setValue(OPPArgument argument, OPPObjectInstance objectInstance) {
    if(argument.hasModifier) {
      throw new OPPRuntimeException("Argument modifiers are not supported.");
      heap.setVariable(argument.object, objectInstance);
  private OPPObjectInstance getValue(OPPArgument argument) {
    if(!argument.hasModifier) {
      throw new OPPRuntimeException("Argument modifiers are not supported.");
  /**
   * Representation of an argument that is passed to a
   * {@link OPPProcessInstance}. If the argument is passed to the instance using
   * a modifier, this modifier is stored here and is applied only when the value
   * of the argument is retrieved.
   */
  class OPPArgument {
    public BigDecimal collectionElementIndex;
    public boolean hasModifier = false;
    public String modifier;
    public OPPArgument(OPPObject object) {

OPPProcessInstance instance  Map<String  OPPArgument> namedArguments
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
private void loadAnonymousArguments(OPPProcessInstance instance, List<OPPArgument> arguments,
      for(OPPArgument argument : arguments) {
    Map<String, OPPArgument> namedResults = Maps.newHashMap();
    List<OPPArgument> anonymousResult = Lists.newArrayList();
      OPPArgument argument = new OPPArgument(analyzer.getObject(resultLink));
        throw new OPPRuntimeException("Argument modifiers are not supported.");
    List<String> outgoingParametersNames = instance.getOutgoingParameters().stream().map(p -> p.getName())
        .collect(Collectors.toList());
      setValue(namedResults.get(namedResult), instance.getArgument(namedResult));
    // Then extract results where the variable in the instance matches the
    // result object
    Iterator<OPPArgument> anonymousResultsIterator = anonymousResult.iterator();
      OPPArgument argument = anonymousResultsIterator.next();
      if(instance.getOutgoingParameters().contains(argument.object.getName())) {
          setValue(argument, instance.getArgument(argument.object.getName()));
    // Finally, extract all remaining outgoing parameters to the remaining
    // anonymous result objects.
    for(int i = 0; i < anonymousResult.size(); i++) {
      setValue(anonymousResult.get(i), instance.getArgument(outgoingParametersNames.get(i)));
  private void setValue(OPPArgument argument, OPPObjectInstance objectInstance) {
    if(argument.hasModifier) {
      throw new OPPRuntimeException("Argument modifiers are not supported.");
      heap.setVariable(argument.object, objectInstance);
  private OPPObjectInstance getValue(OPPArgument argument) {
    if(!argument.hasModifier) {
      throw new OPPRuntimeException("Argument modifiers are not supported.");
  /**
   * Representation of an argument that is passed to a
   * {@link OPPProcessInstance
void loadNamedArguments(OPPProcessInstance instance, Map<String, OPPArgument> namedArguments)
import com.google.common.base.Function;
import com.vainolo.phd.opp.interpreter.OPPObjectInstanceValueAnalyzer;
import com.vainolo.phd.opp.interpreter.OPPParameter;
  private OPPObjectInstanceValueAnalyzer valueAnalyzer;
    this.valueAnalyzer = new OPPObjectInstanceValueAnalyzer();
    Map<String, OPMArgument> namedArguments = Maps.newHashMap();
    List<OPMArgument> anonymousArguments = Lists.newArrayList();
      OPMArgument argument = new OPMArgument(analyzer.getObject(incomingDataLink));
        argument.isCollectionElement = true;
        String argName = incomingDataLink.getCenterDecoration().split(",")[0];
        String collectionReference = incomingDataLink.getCenterDecoration().split(",")[1];
        if(valueAnalyzer.isNumericalLiteral(collectionReference)) {
          argument.collectionElementIndex = valueAnalyzer.parseNumericalLiteral(collectionReference);
        } else {
          argument.collectionElementName = collectionReference;
        }
        if("".equals(argName)) {
          anonymousArguments.add(argument);
        } else {
          namedArguments.put(argName, argument);
        }
    List<String> availableParametersNames = Lists.transform(instance.getIncomingParameterNames(),
        new Function<OPPParameter, String>() {
          @Override
          public String apply(OPPParameter input) {
            return input.getName();
          }
        });
  private void loadNamedArguments(OPPProcessInstance instance, Map<String, OPMArgument> namedArguments) {
  private void loadAnonymousArguments(OPPProcessInstance instance, List<OPMArgument> arguments,
      for(OPMArgument argument : arguments) {
    Map<String, OPMArgument> namedResults = Maps.newHashMap();
    List<OPMArgument> anonymousResult = Lists.newArrayList();
      OPMArgument argument = new OPMArgument(analyzer.getObject(resultLink));
        argument.isCollectionElement = true;
        String argName = resultLink.getCenterDecoration().split(",")[0];
        String collectionReference = resultLink.getCenterDecoration().split(",")[1];
        if(valueAnalyzer.isNumericalLiteral(collectionReference)) {
          argument.collectionElementIndex = valueAnalyzer.parseNumericalLiteral(collectionReference);
        } else {
          argument.collectionElementName = collectionReference;
        }
        if("".equals(argName)) {
          anonymousResult.add(argument);
        } else {
          namedResults.put(argName, argument);
        }
    List<String> outgoingParametersNames = Lists.transform(instance.getOutgoingParameterNames(),
        new Function<OPPParameter, String>() {
          @Override
          public String apply(OPPParameter input) {
            return input.getName();
          }
        });
      OPMArgument argument = namedResults.get(namedResult);
      if(argument.object.isCollection()) {
        setCollectionElementValue(argument, instance.getArgument(namedResult));
      } else {
        heap.setVariable(argument.object, instance.getArgument(namedResult));
      }
    // Now extract where the variable in the instance matched the result object
    Iterator<OPMArgument> anonymousResultsIterator = anonymousResult.iterator();
      OPMArgument argument = anonymousResultsIterator.next();
      if(instance.getOutgoingParameterNames().contains(argument.object.getName())) {
          if(argument.object.isCollection()) {
            setCollectionElementValue(argument, instance.getArgument(argument.object.getName()));
          } else {
            heap.setVariable(argument.object, instance.getArgument(argument.object.getName()));
          }
    // Now extract all remaining outgoing parameters to the remaining anonymous
    // result objects
    int remainingResults = (outgoingParametersNames.size() < anonymousResult.size()) ? outgoingParametersNames.size()
        : anonymousResult.size();
    for(int i = 0; i < remainingResults; i++) {
      OPMArgument argument = anonymousResult.get(i);
      if(argument.object.isCollection()) {
        setCollectionElementValue(argument, instance.getArgument(outgoingParametersNames.get(i)));
      } else {
        heap.setVariable(argument.object, instance.getArgument(outgoingParametersNames.get(i)));
      }
  public void setCollectionElementValue(OPMArgument argument, OPPObjectInstance value) {
    OPPObjectInstance currentValue = heap.getVariable(argument.object);
    if(currentValue == null) {
      currentValue = OPPObjectInstance.createCollectionInstace();
    }
    if(argument.isCollectionElement) {
      if(argument.collectionElementName != null) {
        currentValue.putCollectionElement(argument.collectionElementName, value);
      } else if(argument.collectionElementIndex != null) {
        currentValue.putCollectionElementAtIndex(argument.collectionElementIndex.intValue(), value);
      }
      currentValue.appendCollectionElement(value);
    heap.setVariable(argument.object, currentValue);
  private OPPObjectInstance getValue(OPMArgument argument) {
    if(!argument.isCollectionElement) {
      OPPObjectInstance instance = heap.getVariable(argument.object);
      if(argument.collectionElementName != null) {
        return instance.getCollectionElement(argument.collectionElementName);
      } else if(argument.collectionElementIndex != null) {
        return instance.getCollectionElementAtIndex(argument.collectionElementIndex.intValue());
      } else {
        throw new IllegalStateException("Referenced collection element with no index or name.");
      }
  class OPMArgument {
    public BigDecimal collectionElementIndex;
    public String collectionElementName;
    private boolean isCollectionElement = false;
    public OPMArgument(OPPObject object) {

OPPParameter input
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
return input.getName();
String apply(OPPParameter input)
OPPProcessInstance instance  Map<String  OPMArgument> namedArguments
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
private void loadAnonymousArguments(OPPProcessInstance instance, List<OPMArgument> arguments,
      for(OPMArgument argument : arguments) {
    Map<String, OPMArgument> namedResults = Maps.newHashMap();
    List<OPMArgument> anonymousResult = Lists.newArrayList();
      OPMArgument argument = new OPMArgument(analyzer.getObject(resultLink));
        argument.isCollectionElement = true;
        String argName = resultLink.getCenterDecoration().split(",")[0];
        String collectionReference = resultLink.getCenterDecoration().split(",")[1];
        if(valueAnalyzer.isNumericalLiteral(collectionReference)) {
          argument.collectionElementIndex = valueAnalyzer.parseNumericalLiteral(collectionReference);
void loadNamedArguments(OPPProcessInstance instance, Map<String, OPMArgument> namedArguments)
OPPParameter input
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
return input.getName();
String apply(OPPParameter input)
OPMArgument argument  OPPObjectInstance value
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
OPPObjectInstance currentValue = heap.getVariable(argument.object);
    if(currentValue == null) {
      currentValue = OPPObjectInstance.createCollectionInstace();
void setCollectionElementValue(OPMArgument argument, OPPObjectInstance value)
argument.collectionElementIndex != null
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
currentValue.putCollectionElementAtIndex(argument.collectionElementIndex.intValue(), value);
else if(argument.collectionElementIndex != null)
OPMArgument argument
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
if(!argument.isCollectionElement) {
      OPPObjectInstance instance = heap.getVariable(argument.object);
      if(argument.collectionElementName != null) {
        return instance.getCollectionElement(argument.collectionElementName);
OPPObjectInstance getValue(OPMArgument argument)
argument.collectionElementIndex != null
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessArgumentHandler.java
return instance.getCollectionElementAtIndex(argument.collectionElementIndex.intValue());
else if(argument.collectionElementIndex != null)
@@ -6,79 +6,59 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
-import com.google.common.base.Function;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.vainolo.phd.opp.interpreter.OPPObjectInstance;
-import com.vainolo.phd.opp.interpreter.OPPObjectInstanceValueAnalyzer;
-import com.vainolo.phd.opp.interpreter.OPPParameter;
 import com.vainolo.phd.opp.interpreter.OPPProcessInstance;
+import com.vainolo.phd.opp.interpreter.OPPRuntimeException;
 import com.vainolo.phd.opp.model.OPPLink;
 import com.vainolo.phd.opp.model.OPPObject;
 import com.vainolo.phd.opp.model.OPPProcess;
 import com.vainolo.phd.opp.utilities.analysis.OPPOPDAnalyzer;
 
 public class OPPInZoomedProcessArgumentHandler {
   private OPPOPDAnalyzer analyzer = new OPPOPDAnalyzer();
-  private OPPObjectInstanceValueAnalyzer valueAnalyzer;
   private OPPInZoomedProcessInstanceHeap heap;
 
   public OPPInZoomedProcessArgumentHandler(OPPOPDAnalyzer analyzer, OPPInZoomedProcessInstanceHeap heap) {
     this.analyzer = analyzer;
     this.heap = heap;
-    this.valueAnalyzer = new OPPObjectInstanceValueAnalyzer();
   }
 
   public void loadInstanceArguments(OPPProcess process, OPPProcessInstance instance) {
-    Map<String, OPMArgument> namedArguments = Maps.newHashMap();
-    List<OPMArgument> anonymousArguments = Lists.newArrayList();
+    Map<String, OPPArgument> namedArguments = Maps.newHashMap();
+    List<OPPArgument> anonymousArguments = Lists.newArrayList();
 
     for(OPPLink incomingDataLink : analyzer.findIncomingDataLinks(process)) {
-      OPMArgument argument = new OPMArgument(analyzer.getObject(incomingDataLink));
+      OPPArgument argument = new OPPArgument(analyzer.getObject(incomingDataLink));
       if(incomingDataLink.getCenterDecoration() == null || "".equals(incomingDataLink.getCenterDecoration())) {
         anonymousArguments.add(argument);
       } else if(incomingDataLink.getCenterDecoration().contains(",")) {
-        argument.isCollectionElement = true;
-        String argName = incomingDataLink.getCenterDecoration().split(",")[0];
-        String collectionReference = incomingDataLink.getCenterDecoration().split(",")[1];
-        if(valueAnalyzer.isNumericalLiteral(collectionReference)) {
-          argument.collectionElementIndex = valueAnalyzer.parseNumericalLiteral(collectionReference);
-        } else {
-          argument.collectionElementName = collectionReference;
-        }
-        if("".equals(argName)) {
-          anonymousArguments.add(argument);
-        } else {
-          namedArguments.put(argName, argument);
-        }
+        throw new OPPRuntimeException("Argument modifiers are not supported.");
       } else {
         namedArguments.put(incomingDataLink.getCenterDecoration(), argument);
       }
     }
 
     logFine("Found {0} anonymous arguments and {1} named arguments.", anonymousArguments.size(), namedArguments.size());
 
-    List<String> availableParametersNames = Lists.transform(instance.getIncomingParameterNames(),
-        new Function<OPPParameter, String>() {
-          @Override
-          public String apply(OPPParameter input) {
-            return input.getName();
-          }
-        });
+    List<String> availableParametersNames = instance.getIncomingParameters().stream().map(param -> param.getName())
+        .collect(Collectors.toList());
     loadNamedArguments(instance, namedArguments);
     availableParametersNames.removeAll(namedArguments.keySet());
 
     loadAnonymousArguments(instance, anonymousArguments, availableParametersNames);
   }
 
-  private void loadNamedArguments(OPPProcessInstance instance, Map<String, OPMArgument> namedArguments) {
+  private void loadNamedArguments(OPPProcessInstance instance, Map<String, OPPArgument> namedArguments) {
     for(String parameterName : namedArguments.keySet()) {
       instance.setArgument(parameterName, getValue(namedArguments.get(parameterName)));
     }
   }
 
-  private void loadAnonymousArguments(OPPProcessInstance instance, List<OPMArgument> arguments,
+  private void loadAnonymousArguments(OPPProcessInstance instance, List<OPPArgument> arguments,
       List<String> availableParameters) {
 
     // First arguments who's variable names matches the parameter name
@@ -105,35 +85,23 @@ private void loadAnonymousArguments(OPPProcessInstance instance, List<OPMArgumen
     // names
     if(arguments.size() > 0) {
       int argNumber = 0;
-      for(OPMArgument argument : arguments) {
+      for(OPPArgument argument : arguments) {
         instance.setArgument("arg" + argNumber, getValue(argument));
         argNumber++;
       }
     }
   }
 
   public void extractResultsToVariables(OPPProcess process, OPPProcessInstance instance) {
-    Map<String, OPMArgument> namedResults = Maps.newHashMap();
-    List<OPMArgument> anonymousResult = Lists.newArrayList();
+    Map<String, OPPArgument> namedResults = Maps.newHashMap();
+    List<OPPArgument> anonymousResult = Lists.newArrayList();
 
     for(OPPLink resultLink : analyzer.findOutgoingDataLinks(process)) {
-      OPMArgument argument = new OPMArgument(analyzer.getObject(resultLink));
+      OPPArgument argument = new OPPArgument(analyzer.getObject(resultLink));
       if(resultLink.getCenterDecoration() == null || "".equals(resultLink.getCenterDecoration())) {
         anonymousResult.add(argument);
       } else if(resultLink.getCenterDecoration().contains(",")) {
-        argument.isCollectionElement = true;
-        String argName = resultLink.getCenterDecoration().split(",")[0];
-        String collectionReference = resultLink.getCenterDecoration().split(",")[1];
-        if(valueAnalyzer.isNumericalLiteral(collectionReference)) {
-          argument.collectionElementIndex = valueAnalyzer.parseNumericalLiteral(collectionReference);
-        } else {
-          argument.collectionElementName = collectionReference;
-        }
-        if("".equals(argName)) {
-          anonymousResult.add(argument);
-        } else {
-          namedResults.put(argName, argument);
-        }
+        throw new OPPRuntimeException("Argument modifiers are not supported.");
       } else {
         namedResults.put(resultLink.getCenterDecoration(), argument);
       }
@@ -142,92 +110,62 @@ public void extractResultsToVariables(OPPProcess process, OPPProcessInstance ins
     logFine("Found {0} anonymous results and {1} named results.", anonymousResult.size(), namedResults.size());
 
     // First extract named results
-    List<String> outgoingParametersNames = Lists.transform(instance.getOutgoingParameterNames(),
-        new Function<OPPParameter, String>() {
-          @Override
-          public String apply(OPPParameter input) {
-            return input.getName();
-          }
-        });
+    List<String> outgoingParametersNames = instance.getOutgoingParameters().stream().map(p -> p.getName())
+        .collect(Collectors.toList());
     for(String namedResult : namedResults.keySet()) {
-      OPMArgument argument = namedResults.get(namedResult);
-      if(argument.object.isCollection()) {
-        setCollectionElementValue(argument, instance.getArgument(namedResult));
-      } else {
-        heap.setVariable(argument.object, instance.getArgument(namedResult));
-      }
+      setValue(namedResults.get(namedResult), instance.getArgument(namedResult));
       outgoingParametersNames.remove(namedResult);
     }
 
-    // Now extract where the variable in the instance matched the result object
-    Iterator<OPMArgument> anonymousResultsIterator = anonymousResult.iterator();
+    // Then extract results where the variable in the instance matches the
+    // result object
+    Iterator<OPPArgument> anonymousResultsIterator = anonymousResult.iterator();
     while(anonymousResultsIterator.hasNext()) {
-      OPMArgument argument = anonymousResultsIterator.next();
-      if(instance.getOutgoingParameterNames().contains(argument.object.getName())) {
+      OPPArgument argument = anonymousResultsIterator.next();
+      if(instance.getOutgoingParameters().contains(argument.object.getName())) {
         if(instance.getArgument(argument.object.getName()) != null) {
-          if(argument.object.isCollection()) {
-            setCollectionElementValue(argument, instance.getArgument(argument.object.getName()));
-          } else {
-            heap.setVariable(argument.object, instance.getArgument(argument.object.getName()));
-          }
+          setValue(argument, instance.getArgument(argument.object.getName()));
           anonymousResultsIterator.remove();
         }
       }
     }
 
-    // Now extract all remaining outgoing parameters to the remaining anonymous
-    // result objects
-    int remainingResults = (outgoingParametersNames.size() < anonymousResult.size()) ? outgoingParametersNames.size()
-        : anonymousResult.size();
-    for(int i = 0; i < remainingResults; i++) {
-      OPMArgument argument = anonymousResult.get(i);
-      if(argument.object.isCollection()) {
-        setCollectionElementValue(argument, instance.getArgument(outgoingParametersNames.get(i)));
-      } else {
-        heap.setVariable(argument.object, instance.getArgument(outgoingParametersNames.get(i)));
-      }
+    // Finally, extract all remaining outgoing parameters to the remaining
+    // anonymous result objects.
+    for(int i = 0; i < anonymousResult.size(); i++) {
+      setValue(anonymousResult.get(i), instance.getArgument(outgoingParametersNames.get(i)));
     }
   }
 
-  public void setCollectionElementValue(OPMArgument argument, OPPObjectInstance value) {
-    OPPObjectInstance currentValue = heap.getVariable(argument.object);
-    if(currentValue == null) {
-      currentValue = OPPObjectInstance.createCollectionInstace();
-    }
-    if(argument.isCollectionElement) {
-      if(argument.collectionElementName != null) {
-        currentValue.putCollectionElement(argument.collectionElementName, value);
-      } else if(argument.collectionElementIndex != null) {
-        currentValue.putCollectionElementAtIndex(argument.collectionElementIndex.intValue(), value);
-      }
+  private void setValue(OPPArgument argument, OPPObjectInstance objectInstance) {
+    if(argument.hasModifier) {
+      throw new OPPRuntimeException("Argument modifiers are not supported.");
     } else {
-      currentValue.appendCollectionElement(value);
+      heap.setVariable(argument.object, objectInstance);
     }
-    heap.setVariable(argument.object, currentValue);
   }
 
-  private OPPObjectInstance getValue(OPMArgument argument) {
-    if(!argument.isCollectionElement) {
+  private OPPObjectInstance getValue(OPPArgument argument) {
+    if(!argument.hasModifier) {
       return heap.getVariable(argument.object);
     } else {
-      OPPObjectInstance instance = heap.getVariable(argument.object);
-      if(argument.collectionElementName != null) {
-        return instance.getCollectionElement(argument.collectionElementName);
-      } else if(argument.collectionElementIndex != null) {
-        return instance.getCollectionElementAtIndex(argument.collectionElementIndex.intValue());
-      } else {
-        throw new IllegalStateException("Referenced collection element with no index or name.");
-      }
+      throw new OPPRuntimeException("Argument modifiers are not supported.");
     }
   }
 
-  class OPMArgument {
-    public BigDecimal collectionElementIndex;
-    public String collectionElementName;
+  /**
+   * Representation of an argument that is passed to a
+   * {@link OPPProcessInstance}. If the argument is passed to the instance using
+   * a modifier, this modifier is stored here and is applied only when the value
+   * of the argument is retrieved.
+   */
+  class OPPArgument {
     private OPPObject object;
-    private boolean isCollectionElement = false;
+    public BigDecimal collectionElementIndex;
+    public boolean hasModifier = false;
+    public String modifier;
 
-    public OPMArgument(OPPObject object) {
+    public OPPArgument(OPPObject object) {
       this.object = object;
     }
   }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessArgumentHandler.java
090bf9247bcd477900072769cbe331deb48b0634
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessExecutableInstance.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessExecutableInstance.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessExecutableInstance.java
import java.util.Collections;
import java.util.stream.Collectors;
 * Executable instance used for a {@link OPPObjectProcessDiagram} containing an
    final Map<OPPProcessInstance, OPPProcess> instance2ProcessMap = Maps.newHashMap();
    Set<OPPProcess> P_ready = Sets.newHashSet(Sets.union(Sets.filter(P_init, isReadyAndNotSkipPred), findInvokedProcesses()));
    if (P_waiting.size() == 0 && P_ready.size() == 0) {
    while (Sets.union(P_ready, P_executing).size() > 0) {
      logInfo("Starting execution loop, {0} waiting, {1} ready, and {2} executing .", P_waiting.size(), P_ready.size(), P_executing.size());
      for (OPPProcess readyProcess : P_ready) {
        instance2ProcessMap.put(readyInstance, readyProcess);
      OPPProcessInstance executedInstance = executionResult.get().getInstance();
      P_executing.remove(executedInstance);
      argumentHandler.extractResultsToVariables(instance2ProcessMap.get(executedInstance), executedInstance);

      Set<OPPProcess> P_executingProcesses2 = P_executing.stream().map(p -> instance2ProcessMap.get(p)).collect(Collectors.toSet());
      Set<OPPProcess> P_executingProcesses = Sets.newHashSet(Collections2.transform(P_executing, new Function<OPPProcessInstance, OPPProcess>() {
        @Override
        public OPPProcess apply(OPPProcessInstance input) {
          return instance2ProcessMap.get(input);
        }
      }));

      if (P_executingProcesses.containsAll(P_executingProcesses2) && P_executingProcesses2.containsAll(P_executingProcesses)) {
        logInfo("P_executingProcesses are equal");
      } else {
        logInfo("P_ExecutingProcesses are not equal!!!!!!!");
      }

      P_waiting = calculateNewWaitingProcessesSet(instance2ProcessMap.get(executedInstance), P_waiting, P_executingProcesses);
      logInfo("Finished execution loop, {0} waiting, {1} ready, and {2} executing.", P_waiting.size(), P_ready.size(), P_executing.size());
      instance2ProcessMap.remove(executedInstance);
    if (P_waiting.size() > 0) {
  private Set<OPPProcess> calculateNewWaitingProcessesSet(OPPProcess process, Set<OPPProcess> P_waiting, Set<OPPProcess> P_executing) {
    while (successors.size() > 0) {
      for (OPPProcess succ : Sets.filter(successors, Predicates.not(mustSkipPred))) {
        if (Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
      for (OPPProcess skippedSucc : Sets.filter(successors, mustSkipPred)) {
        if (Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
    for (OPPObject changedObject : heapObserver.getObjectsWithNewValue()) {
    for (OPPProceduralLink eventLink : outgoingEventLinks) {
      if (objectValueTriggersEvent(eventLink, value)) {
    if (OPPObject.class.isInstance(link.getSource())) {
    } else if (OPPState.class.isInstance(link.getSource())) {
      if (valueAnalyzer.isObjectInstanceInState(objectInstance, state)) {
  // @Override
  // public boolean isReady() {
  // Collection<OPPObject> parameters =
  // analyzer.findIncomingParameters(getOpd());
  // for (OPPObject object : parameters) {
  // if (getArgument(object.getName()) == null) {
  // return false;
  // }
  // }
  // return true;
  // }
  public List<OPPParameter> getIncomingParameters() {
    for (OPPObject object : parameters) {
      incomingParameters.add(new OPPParameter(object.getName()));
  public List<OPPParameter> getOutgoingParameters() {
    for (OPPObject object : parameters) {
      outgoingParameters.add(new OPPParameter(object.getName()));
      for (OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
        if (!isLinkSourceReady(link)) {
      for (OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
        if (link.getSubKinds().contains(OPPConstants.OPP_CONDITIONAL_LINK_SUBKIND) && !isLinkSourceReady(link)) {
      if (variable == null) {
      if (!valueAnalyzer.isObjectInstanceInState(variable, state)) {
      if (analyzer.isSourceObject(link)) {
      } else if (analyzer.isSourceState(link)) {

OPPProcessInstance input
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessExecutableInstance.java
return instance2ProcessMap.get(input);
OPPProcess apply(OPPProcessInstance input)
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessExecutableInstance.java
// Collection<OPPObject> parameters =
  // analyzer.findIncomingParameters(getOpd());
  // for (OPPObject object : parameters) {
  // if (getArgument(object.getName()) == null) {
  // return false;
  //
boolean isReady()
 * Executable instance used for a {@link OPMObjectProcessDiagram} containing an
    // this.storer = OPMInZoomedProcessResultStorer.createResultStorer(analyzer,
    // executionState, heap);
    final Map<OPPProcessInstance, OPPProcess> mapping = Maps.newHashMap();
    Set<OPPProcess> P_ready = Sets.newHashSet(Sets.union(Sets.filter(P_init, isReadyAndNotSkipPred),
        findInvokedProcesses()));
    if(P_waiting.size() == 0 && P_ready.size() == 0) {
    while(Sets.union(P_ready, P_executing).size() > 0) {
      logInfo("Starting execution loop, {0} waiting, {1} ready, and {2} executing .", P_waiting.size(), P_ready.size(),
          P_executing.size());
      for(OPPProcess readyProcess : P_ready) {
        mapping.put(readyInstance, readyProcess);
      OPPProcessInstance instance = executionResult.get().getInstance();
      P_executing.remove(instance);
      argumentHandler.extractResultsToVariables(mapping.get(instance), instance);

      Set<OPPProcess> P_executingProcesses = Sets.newHashSet(Collections2.transform(P_executing,
          new Function<OPPProcessInstance, OPPProcess>() {
            @Override
            public OPPProcess apply(OPPProcessInstance input) {
              return mapping.get(input);
            }
          }));
      P_waiting = calculateNewWaitingProcessesSet(mapping.get(instance), P_waiting, P_executingProcesses);
      logInfo("Finished execution loop, {0} waiting, {1} ready, and {2} executing.", P_waiting.size(), P_ready.size(),
          P_executing.size());
      mapping.remove(instance);
    if(P_waiting.size() > 0) {
  private Set<OPPProcess> calculateNewWaitingProcessesSet(OPPProcess process, Set<OPPProcess> P_waiting,
      Set<OPPProcess> P_executing) {
    while(successors.size() > 0) {
      for(OPPProcess succ : Sets.filter(successors, Predicates.not(mustSkipPred))) {
        if(Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
      for(OPPProcess skippedSucc : Sets.filter(successors, mustSkipPred)) {
        if(Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
    for(OPPObject changedObject : heapObserver.getObjectsWithNewValue()) {
    for(OPPProceduralLink eventLink : outgoingEventLinks) {
      if(objectValueTriggersEvent(eventLink, value)) {
    if(OPPObject.class.isInstance(link.getSource())) {
    } else if(OPPState.class.isInstance(link.getSource())) {
      if(valueAnalyzer.isObjectInstanceInState(objectInstance, state)) {
  @Override
  public boolean isReady() {
    Collection<OPPObject> parameters = analyzer.findIncomingParameters(getOpd());
    for(OPPObject object : parameters) {
      if(getArgument(object.getName()) == null) {
        return false;
      }
    }
    return true;
  }
  public List<OPPParameter> getIncomingParameterNames() {
    for(OPPObject object : parameters) {
      incomingParameters.add(new OPPParameter(object.getName(), object.isCollection()));
  public List<OPPParameter> getOutgoingParameterNames() {
    for(OPPObject object : parameters) {
      outgoingParameters.add(new OPPParameter(object.getName(), object.isCollection()));
      for(OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
        if(!isLinkSourceReady(link)) {
      for(OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
        if(link.getSubKinds().contains(OPPConstants.OPP_CONDITIONAL_LINK_SUBKIND) && !isLinkSourceReady(link)) {
      if(variable == null) {
      if(!valueAnalyzer.isObjectInstanceInState(variable, state)) {
      if(analyzer.isSourceObject(link)) {
      } else if(analyzer.isSourceState(link)) {

OPPProcessInstance input
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessExecutableInstance.java
return mapping.get(input);
OPPProcess apply(OPPProcessInstance input)
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessExecutableInstance.java
Collection<OPPObject> parameters = analyzer.findIncomingParameters(getOpd());
    for(OPPObject object : parameters) {
      if(getArgument(object.getName()) == null) {
        return false;
boolean isReady()
@@ -5,12 +5,14 @@
 import static com.google.common.base.Preconditions.*;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ExecutorCompletionService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import java.util.stream.Collectors;
 
 import org.jgrapht.experimental.dag.DirectedAcyclicGraph;
 import org.jgrapht.graph.DefaultEdge;
@@ -42,7 +44,7 @@
 import com.vainolo.phd.opp.model.OPPState;
 
 /**
- * Executable instance used for a {@link OPMObjectProcessDiagram} containing an
+ * Executable instance used for a {@link OPPObjectProcessDiagram} containing an
  * in-zoomed process.
  * 
  * @author Arieh "Vainolo" Bibliowicz
@@ -78,8 +80,6 @@ public OPPInZoomedProcessExecutableInstance(OPPObjectProcessDiagram opd, OPPOPDA
     this.valueAnalyzer = new OPPObjectInstanceValueAnalyzer();
     this.heap = new OPPInZoomedProcessInstanceHeap(valueAnalyzer, analyzer);
     this.argumentHandler = new OPPInZoomedProcessArgumentHandler(analyzer, heap);
-    // this.storer = OPMInZoomedProcessResultStorer.createResultStorer(analyzer,
-    // executionState, heap);
     this.heapObserver = new OPMHeapObserver();
     this.heap.addObserver(heapObserver);
     this.isReadyPred = new IsProcessReady();
@@ -106,74 +106,77 @@ protected void postExecution() {
   @Override
   protected void executing() throws Exception {
     logInfo(OPPStrings.STARTING_EXECUTION, getName());
-    final Map<OPPProcessInstance, OPPProcess> mapping = Maps.newHashMap();
+    final Map<OPPProcessInstance, OPPProcess> instance2ProcessMap = Maps.newHashMap();
     heap.initializeVariablesWithLiterals(analyzer.getInZoomedProcess(getOpd()));
 
     Set<OPPProcess> P_init = executionAnalyzer.findInitialProcesses(opdDag);
     Set<OPPProcess> P_waiting = Sets.newHashSet(Sets.filter(P_init, notReadyAndNotSkipPred));
-    Set<OPPProcess> P_ready = Sets.newHashSet(Sets.union(Sets.filter(P_init, isReadyAndNotSkipPred),
-        findInvokedProcesses()));
+    Set<OPPProcess> P_ready = Sets.newHashSet(Sets.union(Sets.filter(P_init, isReadyAndNotSkipPred), findInvokedProcesses()));
     Set<OPPProcessInstance> P_executing = Sets.newHashSet();
 
-    if(P_waiting.size() == 0 && P_ready.size() == 0) {
+    if (P_waiting.size() == 0 && P_ready.size() == 0) {
       logInfo("Could not find anything to execute in process {0}. Exiting.", getName());
       return;
     }
 
-    while(Sets.union(P_ready, P_executing).size() > 0) {
-      logInfo("Starting execution loop, {0} waiting, {1} ready, and {2} executing .", P_waiting.size(), P_ready.size(),
-          P_executing.size());
+    while (Sets.union(P_ready, P_executing).size() > 0) {
+      logInfo("Starting execution loop, {0} waiting, {1} ready, and {2} executing .", P_waiting.size(), P_ready.size(), P_executing.size());
       heapObserver.clear();
-      for(OPPProcess readyProcess : P_ready) {
+      for (OPPProcess readyProcess : P_ready) {
         OPPProcessInstance readyInstance = OPPProcessInstanceFactory.createExecutableInstance(readyProcess);
         argumentHandler.loadInstanceArguments(readyProcess, readyInstance);
-        mapping.put(readyInstance, readyProcess);
+        instance2ProcessMap.put(readyInstance, readyProcess);
         completionService.submit(readyInstance);
         P_executing.add(readyInstance);
       }
 
       Future<OPPProcessExecutionResult> executionResult = completionService.take();
-      OPPProcessInstance instance = executionResult.get().getInstance();
-      P_executing.remove(instance);
-      argumentHandler.extractResultsToVariables(mapping.get(instance), instance);
-
-      Set<OPPProcess> P_executingProcesses = Sets.newHashSet(Collections2.transform(P_executing,
-          new Function<OPPProcessInstance, OPPProcess>() {
-            @Override
-            public OPPProcess apply(OPPProcessInstance input) {
-              return mapping.get(input);
-            }
-          }));
-      P_waiting = calculateNewWaitingProcessesSet(mapping.get(instance), P_waiting, P_executingProcesses);
+      OPPProcessInstance executedInstance = executionResult.get().getInstance();
+      P_executing.remove(executedInstance);
+      argumentHandler.extractResultsToVariables(instance2ProcessMap.get(executedInstance), executedInstance);
+
+      Set<OPPProcess> P_executingProcesses2 = P_executing.stream().map(p -> instance2ProcessMap.get(p)).collect(Collectors.toSet());
+      Set<OPPProcess> P_executingProcesses = Sets.newHashSet(Collections2.transform(P_executing, new Function<OPPProcessInstance, OPPProcess>() {
+        @Override
+        public OPPProcess apply(OPPProcessInstance input) {
+          return instance2ProcessMap.get(input);
+        }
+      }));
+
+      if (P_executingProcesses.containsAll(P_executingProcesses2) && P_executingProcesses2.containsAll(P_executingProcesses)) {
+        logInfo("P_executingProcesses are equal");
+      } else {
+        logInfo("P_ExecutingProcesses are not equal!!!!!!!");
+      }
+
+      P_waiting = calculateNewWaitingProcessesSet(instance2ProcessMap.get(executedInstance), P_waiting, P_executingProcesses);
       P_ready = Sets.newHashSet(Sets.union(Sets.filter(P_waiting, isReadyPred), findInvokedProcesses()));
       P_waiting = Sets.newHashSet(Sets.difference(P_waiting, P_ready));
-      logInfo("Finished execution loop, {0} waiting, {1} ready, and {2} executing.", P_waiting.size(), P_ready.size(),
-          P_executing.size());
-      mapping.remove(instance);
+      logInfo("Finished execution loop, {0} waiting, {1} ready, and {2} executing.", P_waiting.size(), P_ready.size(), P_executing.size());
+      instance2ProcessMap.remove(executedInstance);
     }
 
-    if(P_waiting.size() > 0) {
+    if (P_waiting.size() > 0) {
       logInfo("Finished execution of {0} with waiting processes.", getName());
     }
 
   }
 
-  private Set<OPPProcess> calculateNewWaitingProcessesSet(OPPProcess process, Set<OPPProcess> P_waiting,
-      Set<OPPProcess> P_executing) {
+  private Set<OPPProcess> calculateNewWaitingProcessesSet(OPPProcess process, Set<OPPProcess> P_waiting, Set<OPPProcess> P_executing) {
     Set<OPPProcess> successors = executionAnalyzer.findFollowingProcesses(opdDag, process);
     Set<OPPProcess> P_waitingLocal = Sets.newHashSet(P_waiting);
-    while(successors.size() > 0) {
-      for(OPPProcess succ : Sets.filter(successors, Predicates.not(mustSkipPred))) {
+    while (successors.size() > 0) {
+      for (OPPProcess succ : Sets.filter(successors, Predicates.not(mustSkipPred))) {
         Set<OPPProcess> pred = executionAnalyzer.findRequiredProcesses(opdDag, succ);
-        if(Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
+        if (Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
           P_waitingLocal.add(succ);
         }
       }
 
       Set<OPPProcess> newSuccessors = Sets.newHashSet();
-      for(OPPProcess skippedSucc : Sets.filter(successors, mustSkipPred)) {
+      for (OPPProcess skippedSucc : Sets.filter(successors, mustSkipPred)) {
         Set<OPPProcess> pred = executionAnalyzer.findRequiredProcesses(opdDag, skippedSucc);
-        if(Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
+        if (Sets.intersection(Sets.union(P_waiting, P_executing), pred).size() == 0) {
           newSuccessors.addAll(executionAnalyzer.findFollowingProcesses(opdDag, skippedSucc));
         }
       }
@@ -184,7 +187,7 @@ private Set<OPPProcess> calculateNewWaitingProcessesSet(OPPProcess process, Set<
 
   private Set<OPPProcess> findInvokedProcesses() {
     Set<OPPProcess> invokedProcesses = Sets.newHashSet();
-    for(OPPObject changedObject : heapObserver.getObjectsWithNewValue()) {
+    for (OPPObject changedObject : heapObserver.getObjectsWithNewValue()) {
       invokedProcesses.addAll(findProcessesToInvokeAfterObjectHasChanged(changedObject));
     }
     invokedProcesses = Sets.filter(invokedProcesses, isReadyAndNotSkipPred);
@@ -197,36 +200,37 @@ private Set<OPPProcess> findProcessesToInvokeAfterObjectHasChanged(OPPObject obj
     checkNotNull(value, "Changed object cannot be null.");
     Set<OPPProcess> ret = Sets.newHashSet();
     Collection<OPPProceduralLink> outgoingEventLinks = analyzer.findOutgoingEventLinks(object);
-    for(OPPProceduralLink eventLink : outgoingEventLinks) {
-      if(objectValueTriggersEvent(eventLink, value)) {
+    for (OPPProceduralLink eventLink : outgoingEventLinks) {
+      if (objectValueTriggersEvent(eventLink, value)) {
         ret.add(analyzer.getProcess(eventLink));
       }
     }
     return ret;
   }
 
   private boolean objectValueTriggersEvent(OPPProceduralLink link, OPPObjectInstance objectInstance) {
-    if(OPPObject.class.isInstance(link.getSource())) {
+    if (OPPObject.class.isInstance(link.getSource())) {
       return true;
-    } else if(OPPState.class.isInstance(link.getSource())) {
+    } else if (OPPState.class.isInstance(link.getSource())) {
       OPPState state = OPPState.class.cast(link.getSource());
-      if(valueAnalyzer.isObjectInstanceInState(objectInstance, state)) {
+      if (valueAnalyzer.isObjectInstanceInState(objectInstance, state)) {
         return true;
       }
     }
     return false;
   }
 
-  @Override
-  public boolean isReady() {
-    Collection<OPPObject> parameters = analyzer.findIncomingParameters(getOpd());
-    for(OPPObject object : parameters) {
-      if(getArgument(object.getName()) == null) {
-        return false;
-      }
-    }
-    return true;
-  }
+  // @Override
+  // public boolean isReady() {
+  // Collection<OPPObject> parameters =
+  // analyzer.findIncomingParameters(getOpd());
+  // for (OPPObject object : parameters) {
+  // if (getArgument(object.getName()) == null) {
+  // return false;
+  // }
+  // }
+  // return true;
+  // }
 
   /**
    * Get the main in-zoomed {@link OPPProcess} of the
@@ -248,21 +252,21 @@ private OPPObjectProcessDiagram getOpd() {
   }
 
   @Override
-  public List<OPPParameter> getIncomingParameterNames() {
+  public List<OPPParameter> getIncomingParameters() {
     List<OPPParameter> incomingParameters = Lists.newArrayList();
     Collection<OPPObject> parameters = analyzer.findIncomingParameters(getOpd());
-    for(OPPObject object : parameters) {
-      incomingParameters.add(new OPPParameter(object.getName(), object.isCollection()));
+    for (OPPObject object : parameters) {
+      incomingParameters.add(new OPPParameter(object.getName()));
     }
     return incomingParameters;
   }
 
   @Override
-  public List<OPPParameter> getOutgoingParameterNames() {
+  public List<OPPParameter> getOutgoingParameters() {
     List<OPPParameter> outgoingParameters = Lists.newArrayList();
     Collection<OPPObject> parameters = analyzer.findOutgoingParameters(getOpd());
-    for(OPPObject object : parameters) {
-      outgoingParameters.add(new OPPParameter(object.getName(), object.isCollection()));
+    for (OPPObject object : parameters) {
+      outgoingParameters.add(new OPPParameter(object.getName()));
     }
     return outgoingParameters;
   }
@@ -289,8 +293,8 @@ protected OPPProcessInstanceHeap getHeap() {
   class IsProcessReady extends ExecutablePredicateCommons implements Predicate<OPPProcess> {
     @Override
     public boolean apply(OPPProcess process) {
-      for(OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
-        if(!isLinkSourceReady(link)) {
+      for (OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
+        if (!isLinkSourceReady(link)) {
           logFine(PROCESS_NOT_READY, process.getName(), analyzer.getSourceObject(link).getName());
           return false;
         }
@@ -302,8 +306,8 @@ public boolean apply(OPPProcess process) {
   class mustSkipProcess extends ExecutablePredicateCommons implements Predicate<OPPProcess> {
     @Override
     public boolean apply(OPPProcess process) {
-      for(OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
-        if(link.getSubKinds().contains(OPPConstants.OPP_CONDITIONAL_LINK_SUBKIND) && !isLinkSourceReady(link)) {
+      for (OPPProceduralLink link : analyzer.findIncomingProceduralLinks(process)) {
+        if (link.getSubKinds().contains(OPPConstants.OPP_CONDITIONAL_LINK_SUBKIND) && !isLinkSourceReady(link)) {
           return true;
         }
       }
@@ -314,7 +318,7 @@ public boolean apply(OPPProcess process) {
   class ExecutablePredicateCommons {
     public boolean isObjectReady(OPPObject object) {
       OPPObjectInstance variable = heap.getVariable(object);
-      if(variable == null) {
+      if (variable == null) {
         return false;
       } else {
         return true;
@@ -324,7 +328,7 @@ public boolean isObjectReady(OPPObject object) {
     public boolean isObjectInState(OPPState state) {
       OPPObject sourceObject = analyzer.getObject(state);
       OPPObjectInstance variable = heap.getVariable(sourceObject);
-      if(!valueAnalyzer.isObjectInstanceInState(variable, state)) {
+      if (!valueAnalyzer.isObjectInstanceInState(variable, state)) {
         return false;
       } else {
         return true;
@@ -333,9 +337,9 @@ public boolean isObjectInState(OPPState state) {
     }
 
     public boolean isLinkSourceReady(OPPProceduralLink link) {
-      if(analyzer.isSourceObject(link)) {
+      if (analyzer.isSourceObject(link)) {
         return isObjectReady(analyzer.getSourceObject(link));
-      } else if(analyzer.isSourceState(link)) {
+      } else if (analyzer.isSourceState(link)) {
         return isObjectInState(analyzer.getSourceState(link));
       } else {
         throw new IllegalStateException("Process has incoming links with a source that is not an object.");

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessExecutableInstance.java
68b343ffa566d0050ec31348615fb8150a0c70db
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessInstanceHeap.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessInstanceHeap.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessInstanceHeap.java
import com.vainolo.phd.opp.interpreter.OPPRuntimeException;
    if (analyzer.isObjectPartOfAnotherObject(object)) {
      if (parentValue == null) {
      parentValue.setPart(object.getName(), OPPObjectInstance.createFromExistingInstance(value));
    if (analyzer.isObjectPartOfAnotherObject(object)) {
      if (parent == null) {
        logSevere("Tried to get the value of {0} which is part of another object, but parent object doesn't exist.", object.getName());
        throw new IllegalStateException("Getting value of an object which is part of another object, but parent doesn't exist.");
        logFinest("Getting value of {0} which is {1}.", object.getName(), parent.getPart(object.getName()));
        return parent.getPart(object.getName());
    for (OPPProceduralLink link : dataTransferLinks) {
      if (analyzer.isTargetProcess(link))

      if ((link.getCenterDecoration() == null) || (link.getCenterDecoration().equals(""))) {
        setVariable(target, getVariable(source));
      } else if (!link.getCenterDecoration().contains(",")) {
      } else {
    throw new OPPRuntimeException("Data transfer modifiers are not supported.");
    throw new OPPRuntimeException("Double data link modifiers are not supported");
    if (objectValue != null)
    for (OPPObject object : objectVariables) {
      if (getVariable(object) != null)
    for (OPPObject object : objectArguments) {
      if (getArgument(object.getName()) != null) {
    for (OPPObject object : objectArguments) {
      if (getVariable(object) != null) {
      for (OPMHeapChange change : changes) {
        if (change.changeType.equals(OPMHeapChangeType.VARIABLE_SET)) {
    public OPMHeapChange(OPPObject parent, OPPObjectInstance parentInstance, OPPObject child, OPPObjectInstance childInstance) {

import static com.vainolo.phd.opp.interpreter.utils.OPPInterpreterPreconditions.*;
    if(analyzer.isObjectComposite(object)) {
      checkInstanceArgumentIsComposite(value, "The value of a composite object must be a composite instance.");
    } else {
      checkInstanceArgumentIsNotComposite(value, "The value of a simple object cannot be a composite instance.");
    }
    if(analyzer.isObjectCollection(object)) {
      checkInstanceArgumentIsCollection(value, "The value of a collection object must be a collection instance.");
    } else {
      checkInstanceArgumentIsNotCollection(value, "The value of a simple object cannot be a collection instance.");
    }

    if(analyzer.isObjectPartOfAnotherObject(object)) {
      if(parentValue == null) {
      parentValue.addCompositePart(object.getName(), OPPObjectInstance.createFromExistingInstance(value));
    if(analyzer.isObjectPartOfAnotherObject(object)) {
      if(parent == null) {
        logSevere("Tried to get the value of {0} which is part of another object, but parent object doesn't exist.",
            object.getName());
        throw new IllegalStateException(
            "Getting value of an object which is part of another object, but parent doesn't exist.");
        logFinest("Getting value of {0} which is {1}.", object.getName(), parent.getCompositePart(object.getName()));
        return parent.getCompositePart(object.getName());
    for(OPPProceduralLink link : dataTransferLinks) {
      if(analyzer.isTargetProcess(link))
      if((link.getCenterDecoration() == null) || (link.getCenterDecoration().equals(""))) {
        transferDataWithNoReferences(source, target);
      } else if(!link.getCenterDecoration().contains(",")) {
      } else { // link.getCenterDecoration().contains(",")
  private void transferDataWithNoReferences(OPPObject source, OPPObject target) {
    if((source.isCollection() && target.isCollection()) || (!source.isCollection() && !target.isCollection())) {
      setVariable(target, getVariable(source));
    } else if(source.isCollection() && !target.isCollection()) {
      setVariable(target, getVariable(source).getCollectionFirstElement());
    } else { // !source.isCollection() && target.isCollection()
      OPPObjectInstance targetValue = getVariable(target);
      if(targetValue == null) {
        targetValue = OPPObjectInstance.createCollectionInstace();
      }
      targetValue.appendCollectionElement(getVariable(source));
      setVariable(target, targetValue);
    }
  }

    if(source.isCollection() && !target.isCollection()) {
      setVariable(target, getCollectionValueUsingReference(source, link.getCenterDecoration()));
    } else if(!source.isCollection() && target.isCollection()) {
      OPPObjectInstance targetValue = putValueInCollectionUsingReference(getVariable(source),
          link.getCenterDecoration(), target);
      setVariable(target, targetValue);
    } else {
      throw new IllegalStateException("Invalid reference state in data transfer link.");
    }
    if(source.isCollection() && target.isCollection()) {
      String[] refs = link.getCenterDecoration().split(",");
      if(refs[0].equals("") || refs[0].equals("")) {
        throw new IllegalStateException("Invalid reference state in data transfer link.");
      }
      OPPObjectInstance sourceValue = getCollectionValueUsingReference(source, refs[0]);
      OPPObjectInstance targetValue = putValueInCollectionUsingReference(sourceValue, refs[1], target);
      setVariable(target, targetValue);
    } else {
      throw new IllegalStateException("Invalid reference state in data transfer link.");
    }
  }

  private OPPObjectInstance getCollectionValueUsingReference(OPPObject source, String reference) {
    OPPObjectInstance sourceValue = null;
    if(valueAnalyzer.isNumericalLiteral(reference)) {
      int sourceIndex = valueAnalyzer.parseNumericalLiteral(reference).intValue();
      sourceValue = getVariable(source).getCollectionElementAtIndex(sourceIndex);
    } else {
      sourceValue = getVariable(source).getCollectionElement(reference);
    }
    return sourceValue;
  }

  private OPPObjectInstance putValueInCollectionUsingReference(OPPObjectInstance value, String reference,
      OPPObject targetCollection) {
    OPPObjectInstance targetValue = getVariable(targetCollection);
    if(targetValue == null) {
      targetValue = OPPObjectInstance.createCollectionInstace();
    }
    if(valueAnalyzer.isNumericalLiteral(reference)) {
      int targetIndex = valueAnalyzer.parseNumericalLiteral(reference).intValue();
      targetValue.putCollectionElementAtIndex(targetIndex, value);
    } else {
      targetValue.putCollectionElement(reference, value);
    }
    return targetValue;
    if(objectValue != null)
    for(OPPObject object : objectVariables) {
      if(getVariable(object) != null)
    for(OPPObject object : objectArguments) {
      if(getArgument(object.getName()) != null) {
    for(OPPObject object : objectArguments) {
      if(getVariable(object) != null) {
      for(OPMHeapChange change : changes) {
        if(change.changeType.equals(OPMHeapChangeType.VARIABLE_SET)) {
    public OPMHeapChange(OPPObject parent, OPPObjectInstance parentInstance, OPPObject child,
        OPPObjectInstance childInstance) {

OPPObject source  OPPObject target
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessInstanceHeap.java
if((source.isCollection() && target.isCollection()) || (!source.isCollection() && !target.isCollection())) {
      setVariable(target, getVariable(source));
void transferDataWithNoReferences(OPPObject source, OPPObject target)
OPPObject source  String reference
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessInstanceHeap.java
OPPObjectInstance sourceValue = null;
    if(valueAnalyzer.isNumericalLiteral(reference)) {
      int sourceIndex = valueAnalyzer.parseNumericalLiteral(reference).intValue();
      sourceValue = getVariable(source).getCollectionElementAtIndex(sourceIndex);
OPPObjectInstance getCollectionValueUsingReference(OPPObject source, String reference)
OPPObjectInstance value  String reference 
      OPPObject targetCollection
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessInstanceHeap.java
OPPObjectInstance targetValue = getVariable(targetCollection);
    if(targetValue == null) {
      targetValue = OPPObjectInstance.createCollectionInstace();
OPPObjectInstance putValueInCollectionUsingReference(OPPObjectInstance value, String reference,
      OPPObject targetCollection)
@@ -9,7 +9,6 @@
 import java.util.Set;
 
 import static com.google.common.base.Preconditions.*;
-import static com.vainolo.phd.opp.interpreter.utils.OPPInterpreterPreconditions.*;
 import static com.vainolo.phd.opp.utilities.OPPLogger.*;
 
 import com.google.common.collect.Lists;
@@ -19,6 +18,7 @@
 import com.vainolo.phd.opp.interpreter.OPPObjectInstance;
 import com.vainolo.phd.opp.interpreter.OPPObjectInstanceValueAnalyzer;
 import com.vainolo.phd.opp.interpreter.OPPProcessInstanceHeap;
+import com.vainolo.phd.opp.interpreter.OPPRuntimeException;
 import com.vainolo.phd.opp.model.OPPObject;
 import com.vainolo.phd.opp.model.OPPObjectProcessDiagram;
 import com.vainolo.phd.opp.model.OPPProceduralLink;
@@ -64,27 +64,16 @@ public class OPPInZoomedProcessInstanceHeap extends OPPProcessInstanceHeap {
   public void setVariable(OPPObject object, OPPObjectInstance value) {
     logFiner("Setting value of object {0} with value {1}.", object.getName(), value.toString());
     checkArgument(value != null, "Value cannot be null");
-    if(analyzer.isObjectComposite(object)) {
-      checkInstanceArgumentIsComposite(value, "The value of a composite object must be a composite instance.");
-    } else {
-      checkInstanceArgumentIsNotComposite(value, "The value of a simple object cannot be a composite instance.");
-    }
 
-    if(analyzer.isObjectCollection(object)) {
-      checkInstanceArgumentIsCollection(value, "The value of a collection object must be a collection instance.");
-    } else {
-      checkInstanceArgumentIsNotCollection(value, "The value of a simple object cannot be a collection instance.");
-    }
-
-    if(analyzer.isObjectPartOfAnotherObject(object)) {
+    if (analyzer.isObjectPartOfAnotherObject(object)) {
       OPPObject parentObject = analyzer.findParent(object);
       OPPObjectInstance parentValue = getVariable(parentObject);
-      if(parentValue == null) {
+      if (parentValue == null) {
         parentValue = OPPObjectInstance.createCompositeInstance();
       }
       setVariable(parentObject, parentValue);
       parentValue = getVariable(parentObject);
-      parentValue.addCompositePart(object.getName(), OPPObjectInstance.createFromExistingInstance(value));
+      parentValue.setPart(object.getName(), OPPObjectInstance.createFromExistingInstance(value));
       observable.notifyObservers(new OPMHeapChange(parentObject, parentValue, object, getVariable(object)));
     } else {
       OPPObjectInstance objectValue = OPPObjectInstance.createFromExistingInstance(value);
@@ -105,16 +94,14 @@ public void setVariable(OPPObject object, OPPObjectInstance value) {
    *         value has been assigned.
    */
   public OPPObjectInstance getVariable(OPPObject object) {
-    if(analyzer.isObjectPartOfAnotherObject(object)) {
+    if (analyzer.isObjectPartOfAnotherObject(object)) {
       OPPObjectInstance parent = getVariable(analyzer.findParent(object));
-      if(parent == null) {
-        logSevere("Tried to get the value of {0} which is part of another object, but parent object doesn't exist.",
-            object.getName());
-        throw new IllegalStateException(
-            "Getting value of an object which is part of another object, but parent doesn't exist.");
+      if (parent == null) {
+        logSevere("Tried to get the value of {0} which is part of another object, but parent object doesn't exist.", object.getName());
+        throw new IllegalStateException("Getting value of an object which is part of another object, but parent doesn't exist.");
       } else {
-        logFinest("Getting value of {0} which is {1}.", object.getName(), parent.getCompositePart(object.getName()));
-        return parent.getCompositePart(object.getName());
+        logFinest("Getting value of {0} which is {1}.", object.getName(), parent.getPart(object.getName()));
+        return parent.getPart(object.getName());
       }
     } else {
       logFinest("Getting value of {0} which is {1}.", object.getName(), variables.get(object));
@@ -130,86 +117,28 @@ public OPPObjectInstance getVariable(OPPObject object) {
    */
   private void transferDataFromObject(OPPObject source) {
     Collection<OPPProceduralLink> dataTransferLinks = analyzer.findOutgoingDataLinks(source);
-    for(OPPProceduralLink link : dataTransferLinks) {
-      if(analyzer.isTargetProcess(link))
+    for (OPPProceduralLink link : dataTransferLinks) {
+      if (analyzer.isTargetProcess(link))
         continue;
+
       OPPObject target = analyzer.getTargetObject(link);
 
-      if((link.getCenterDecoration() == null) || (link.getCenterDecoration().equals(""))) {
-        transferDataWithNoReferences(source, target);
-      } else if(!link.getCenterDecoration().contains(",")) {
+      if ((link.getCenterDecoration() == null) || (link.getCenterDecoration().equals(""))) {
+        setVariable(target, getVariable(source));
+      } else if (!link.getCenterDecoration().contains(",")) {
         transferDataWithOneReference(source, link, target);
-      } else { // link.getCenterDecoration().contains(",")
+      } else {
         transferDataWithTwoReferences(source, link, target);
       }
     }
   }
 
-  private void transferDataWithNoReferences(OPPObject source, OPPObject target) {
-    if((source.isCollection() && target.isCollection()) || (!source.isCollection() && !target.isCollection())) {
-      setVariable(target, getVariable(source));
-    } else if(source.isCollection() && !target.isCollection()) {
-      setVariable(target, getVariable(source).getCollectionFirstElement());
-    } else { // !source.isCollection() && target.isCollection()
-      OPPObjectInstance targetValue = getVariable(target);
-      if(targetValue == null) {
-        targetValue = OPPObjectInstance.createCollectionInstace();
-      }
-      targetValue.appendCollectionElement(getVariable(source));
-      setVariable(target, targetValue);
-    }
-  }
-
   private void transferDataWithOneReference(OPPObject source, OPPProceduralLink link, OPPObject target) {
-    if(source.isCollection() && !target.isCollection()) {
-      setVariable(target, getCollectionValueUsingReference(source, link.getCenterDecoration()));
-    } else if(!source.isCollection() && target.isCollection()) {
-      OPPObjectInstance targetValue = putValueInCollectionUsingReference(getVariable(source),
-          link.getCenterDecoration(), target);
-      setVariable(target, targetValue);
-    } else {
-      throw new IllegalStateException("Invalid reference state in data transfer link.");
-    }
+    throw new OPPRuntimeException("Data transfer modifiers are not supported.");
   }
 
   private void transferDataWithTwoReferences(OPPObject source, OPPProceduralLink link, OPPObject target) {
-    if(source.isCollection() && target.isCollection()) {
-      String[] refs = link.getCenterDecoration().split(",");
-      if(refs[0].equals("") || refs[0].equals("")) {
-        throw new IllegalStateException("Invalid reference state in data transfer link.");
-      }
-      OPPObjectInstance sourceValue = getCollectionValueUsingReference(source, refs[0]);
-      OPPObjectInstance targetValue = putValueInCollectionUsingReference(sourceValue, refs[1], target);
-      setVariable(target, targetValue);
-    } else {
-      throw new IllegalStateException("Invalid reference state in data transfer link.");
-    }
-  }
-
-  private OPPObjectInstance getCollectionValueUsingReference(OPPObject source, String reference) {
-    OPPObjectInstance sourceValue = null;
-    if(valueAnalyzer.isNumericalLiteral(reference)) {
-      int sourceIndex = valueAnalyzer.parseNumericalLiteral(reference).intValue();
-      sourceValue = getVariable(source).getCollectionElementAtIndex(sourceIndex);
-    } else {
-      sourceValue = getVariable(source).getCollectionElement(reference);
-    }
-    return sourceValue;
-  }
-
-  private OPPObjectInstance putValueInCollectionUsingReference(OPPObjectInstance value, String reference,
-      OPPObject targetCollection) {
-    OPPObjectInstance targetValue = getVariable(targetCollection);
-    if(targetValue == null) {
-      targetValue = OPPObjectInstance.createCollectionInstace();
-    }
-    if(valueAnalyzer.isNumericalLiteral(reference)) {
-      int targetIndex = valueAnalyzer.parseNumericalLiteral(reference).intValue();
-      targetValue.putCollectionElementAtIndex(targetIndex, value);
-    } else {
-      targetValue.putCollectionElement(reference, value);
-    }
-    return targetValue;
+    throw new OPPRuntimeException("Double data link modifiers are not supported");
   }
 
   /**
@@ -221,7 +150,7 @@ private OPPObjectInstance putValueInCollectionUsingReference(OPPObjectInstance v
    */
   public void calculateOPMObjectValueAndSetVariableIfValueIfExists(OPPObject object) {
     OPPObjectInstance objectValue = valueAnalyzer.calculateOPMObjectValue(object, analyzer);
-    if(objectValue != null)
+    if (objectValue != null)
       setVariable(object, objectValue);
   }
 
@@ -230,9 +159,9 @@ public void calculateOPMObjectValueAndSetVariableIfValueIfExists(OPPObject objec
    */
   public void initializeVariablesWithLiterals(OPPProcess mainProcess) {
     Collection<OPPObject> objectVariables = analyzer.findObjects(mainProcess);
-    for(OPPObject object : objectVariables) {
+    for (OPPObject object : objectVariables) {
       calculateOPMObjectValueAndSetVariableIfValueIfExists(object);
-      if(getVariable(object) != null)
+      if (getVariable(object) != null)
         transferDataFromObject(object);
     }
   }
@@ -243,8 +172,8 @@ public void initializeVariablesWithLiterals(OPPProcess mainProcess) {
    */
   public void initializeVariablesWithArgumentValues(OPPObjectProcessDiagram opd) {
     Collection<OPPObject> objectArguments = analyzer.findParameters(opd);
-    for(OPPObject object : objectArguments) {
-      if(getArgument(object.getName()) != null) {
+    for (OPPObject object : objectArguments) {
+      if (getArgument(object.getName()) != null) {
         setVariable(object, getArgument(object.getName()));
       } else {
         calculateOPMObjectValueAndSetVariableIfValueIfExists(object);
@@ -275,8 +204,8 @@ public void initializeVariables(OPPObjectProcessDiagram opd) {
    */
   public void exportVariableValuesToArguments(OPPObjectProcessDiagram opd) {
     Collection<OPPObject> objectArguments = analyzer.findParameters(opd);
-    for(OPPObject object : objectArguments) {
-      if(getVariable(object) != null) {
+    for (OPPObject object : objectArguments) {
+      if (getVariable(object) != null) {
         addArgument(object.getName(), getVariable(object));
       }
     }
@@ -318,8 +247,8 @@ public List<OPMHeapChange> getChanges() {
 
     public Set<OPPObject> getObjectsWithNewValue() {
       Set<OPPObject> objects = Sets.newHashSet();
-      for(OPMHeapChange change : changes) {
-        if(change.changeType.equals(OPMHeapChangeType.VARIABLE_SET)) {
+      for (OPMHeapChange change : changes) {
+        if (change.changeType.equals(OPMHeapChangeType.VARIABLE_SET)) {
           objects.add(change.object);
         }
       }
@@ -344,8 +273,7 @@ public OPMHeapChange(OPPObject object, OPPObjectInstance instance) {
       this.objectInstance = instance;
     }
 
-    public OPMHeapChange(OPPObject parent, OPPObjectInstance parentInstance, OPPObject child,
-        OPPObjectInstance childInstance) {
+    public OPMHeapChange(OPPObject parent, OPPObjectInstance parentInstance, OPPObject child, OPPObjectInstance childInstance) {
       this.changeType = OPMHeapChangeType.PART_ADDED;
       this.object = parent;
       this.objectInstance = parentInstance;

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessInstanceHeap.java
7b6e241301d90f6c233248448430a8bc142221ca
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessResultStorer.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessResultStorer.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.interpreter/src/com/vainolo/phd/opp/interpreter/inzoomedprocessinstance/OPPInZoomedProcessResultStorer.java
    List<String> outgoingParameters = Lists.transform(instance.getOutgoingParameters(),
      if(instance.getOutgoingParameters().contains(resultObject.getName())) {

    List<String> outgoingParameters = Lists.transform(instance.getOutgoingParameterNames(),
      if(instance.getOutgoingParameterNames().contains(resultObject.getName())) {

@@ -44,7 +44,7 @@ public void extractResultsToVariables(OPPProcess process, OPPProcessInstance ins
     logFine("Found {0} anonymous results and {1} named results.", anonymousResultObjects.size(), namedResults.size());
 
     // First extract named results
-    List<String> outgoingParameters = Lists.transform(instance.getOutgoingParameterNames(),
+    List<String> outgoingParameters = Lists.transform(instance.getOutgoingParameters(),
         new Function<OPPParameter, String>() {
           @Override
           public String apply(OPPParameter input) {
@@ -60,7 +60,7 @@ public String apply(OPPParameter input) {
     Iterator<OPPObject> anonymousResultsIterator = anonymousResultObjects.iterator();
     while(anonymousResultsIterator.hasNext()) {
       OPPObject resultObject = anonymousResultsIterator.next();
-      if(instance.getOutgoingParameterNames().contains(resultObject.getName())) {
+      if(instance.getOutgoingParameters().contains(resultObject.getName())) {
         if(instance.getArgument(resultObject.getName()) != null) {
           heap.setVariable(resultObject, instance.getArgument(resultObject.getName()));
           anonymousResultsIterator.remove();

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.interpreter%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Finterpreter%2Finzoomedprocessinstance%2FOPPInZoomedProcessResultStorer.java
6ee3c399f7c66e3ee6dd9b93557db2adf59ef53f
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.model%2F.settings%2Forg.eclipse.jdt.core.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.model%2F.settings%2Forg.eclipse.jdt.core.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.model/.settings/org.eclipse.jdt.core.prefs
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_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=80
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=2
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_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_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_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=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
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=120
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=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2
org.eclipse.jdt.core.formatter.use_on_off_tags=true
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

@@ -10,283 +10,3 @@ org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
 org.eclipse.jdt.core.compiler.source=1.7
-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_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=80
-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=2
-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_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_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_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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-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=120
-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=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-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

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.model%2F.settings%2Forg.eclipse.jdt.core.prefs
f4217b01dd2e048b7250aa1835ddf636fb75d6ea
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.model%2F.settings%2Forg.eclipse.jdt.ui.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.model%2F.settings%2Forg.eclipse.jdt.ui.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.model/.settings/org.eclipse.jdt.ui.prefs
formatter_profile=_Vainolo

@@ -1,3 +1,2 @@
 eclipse.preferences.version=1
-formatter_profile=_Vainolo
 formatter_settings_version=12

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.model%2F.settings%2Forg.eclipse.jdt.ui.prefs
069fa88fb669c47c870f5b7f6d16ef0c368481a1
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.releng%2Fpom.xml
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.releng%2Fpom.xml?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.releng/pom.xml
		<repository>
		  <id>com.vainolo.vainolibraries</id>
		  <layout>p2</layout>
		  <url>http://www.vainolo.com/files/repos/vainolibraries/repository</url>
		</repository>

@@ -12,11 +12,6 @@
 			<layout>p2</layout>
 			<url>http://download.eclipse.org/releases/luna</url>
 		</repository>
-		<repository>
-		  <id>com.vainolo.vainolibraries</id>
-		  <layout>p2</layout>
-		  <url>http://www.vainolo.com/files/repos/vainolibraries/repository</url>
-		</repository>
 	</repositories>
   
 	<build>

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.releng%2Fpom.xml
11e7102aa4e73f0c0aa0c052e0415bcd6b7ec146
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2F.settings%2Forg.eclipse.jdt.core.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.utilities%2F.settings%2Forg.eclipse.jdt.core.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.utilities/.settings/org.eclipse.jdt.core.prefs
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_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=80
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=2
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_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_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_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=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
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=120
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=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2
org.eclipse.jdt.core.formatter.use_on_off_tags=true
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

@@ -10,283 +10,3 @@ 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.source=1.8
-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_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=80
-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=2
-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_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_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_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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-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=120
-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=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-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

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2F.settings%2Forg.eclipse.jdt.core.prefs
ace45ceefb456b3fa957d31f9c54df016ce54e53
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2F.settings%2Forg.eclipse.jdt.ui.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.utilities%2F.settings%2Forg.eclipse.jdt.ui.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.utilities/.settings/org.eclipse.jdt.ui.prefs
formatter_profile=_Vainolo

@@ -1,6 +1,5 @@
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Vainolo
 formatter_settings_version=12
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2F.settings%2Forg.eclipse.jdt.ui.prefs
fac0abca3c71af47e11438829136a2e67f087ae1
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Futilities%2FOPPFileUtils.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.utilities%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Futilities%2FOPPFileUtils.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.utilities/src/com/vainolo/phd/opp/utilities/OPPFileUtils.java
import static com.vainolo.phd.opp.utilities.OPPLogger.logSevere;
    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
    } catch (final IOException e) {
      logSevere("OPD File " + uri + " could not be loaded. Please check the path.");
      logSevere("Exception thrown: " + e);
  public static void createOPPFile(IFile opdFile, String name, OPPObjectProcessDiagramKind kind, boolean isObject, boolean isProcess) throws IOException {
    if (opdFile.exists()) {
    switch (kind) {

import static com.vainolo.phd.opp.utilities.OPPLogger.logWarning;
    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
        .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
    } catch(final IOException e) {
      logWarning("OPD File " + uri + " could not be loaded. Please check the path.");
      logWarning("Exception thrown: " + e);
  public static void createOPPFile(IFile opdFile, String name, OPPObjectProcessDiagramKind kind, boolean isObject,
      boolean isProcess) throws IOException {
    if(opdFile.exists()) {
    switch(kind) {

  // public static OPMObjectProcessDiagram loadOPDFile(String uri) {
  // OPMObjectProcessDiagram opd;
  // final ResourceSet resourceSet = new ResourceSetImpl();
  // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
  // .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new
  // XMIResourceFactoryImpl());
  // final Resource opdResource =
  // resourceSet.createResource(URI.createURI(uri));
  // try {
  // opdResource.load(null);
  // opd = (OPMObjectProcessDiagram) opdResource.getContents().get(0);
  // } catch(final IOException e) {
  // logWarning("OPD File " + uri +
  // " could not be loaded. Please check the path.");
  // logWarning("Exception thrown: " + e);
  // opd = null;
  // }
  //
  // return opd;
  // }
  //
  // public static void createOPDFile2(IFile opdFile, String name,
  // OPMObjectProcessDiagramKind kind, boolean isObject,
  // boolean isProcess) throws IOException {
  // if(opdFile.exists()) {
  // logInfo("Tried to create file that already exists.");
  // logInfo("Filename: " + opdFile.getFullPath());
  // throw new
  // IllegalArgumentException("Tried to create a file that already exists: " +
  // opdFile.getName());
  // }
  //
  // final ResourceSet resourceSet = new ResourceSetImpl();
  // final Resource resource =
  // resourceSet.createResource(URI.createURI(opdFile.getLocationURI().toString()));
  // OPMObjectProcessDiagram opd =
  // OPMFactory.eINSTANCE.createOPMObjectProcessDiagram();
  // opd.setId(0);
  // opd.setName(name);
  // opd.setKind(kind);
  // resource.getContents().add(opd);
  // switch(kind) {
  // case COMPOUND:
  // createInitialProcessNode(opd);
  // break;
  // case UNFOLDED:
  // createInitialObjectNode(opd, name);
  // break;
  // case SYSTEM:
  // break;
  // }
  // resource.save(null);
  // }
  //
  // private static void createInitialProcessNode(OPMObjectProcessDiagram opd) {
  // OPMProcess process = OPMFactory.eINSTANCE.createOPMProcess();
  // process.setId(1);
  // process.setName("");
  // process.setConstraints(new Rectangle(200, 100, 100, 100));
  // opd.getNodes().add(process);
  // opd.setLastKnownUsedId(1);
  // }
  //
  // private static void createInitialObjectNode(OPMObjectProcessDiagram opd,
  // String name) {
  // OPMObject object = OPMFactory.eINSTANCE.createOPMObject();
  // object.setId(1);
  // object.setName(name);
  // object.setConstraints(new Rectangle(200, 100, 100, 100));
  // opd.getNodes().add(object);
  // opd.setLastKnownUsedId(1);
  // }

String uri
com.vainolo.phd.opp.utilities/src/com/vainolo/phd/opp/utilities/OPPFileUtils.java
// OPMObjectProcessDiagram opd;
  // final ResourceSet resourceSet = new ResourceSetImpl();
  // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
  // .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new
  // XMIResourceFactoryImpl());
  // final Resource opdResource =
  // resourceSet.createResource(URI.createURI(uri));
  // try {
  // opdResource.load(null);
  // opd = (OPMObjectProcessDiagram) opdResource.getContents().get(0);
  //
OPMObjectProcessDiagram loadOPDFile(String uri)
OPMObjectProcessDiagram opd
com.vainolo.phd.opp.utilities/src/com/vainolo/phd/opp/utilities/OPPFileUtils.java
// OPMProcess process = OPMFactory.eINSTANCE.createOPMProcess();
  // process.setId(1);
  // process.setName("");
  // process.setConstraints(new Rectangle(200, 100, 100, 100));
  // opd.getNodes().add(process);
  // opd.setLastKnownUsedId(1);
  //
void createInitialProcessNode(OPMObjectProcessDiagram opd)
OPMObjectProcessDiagram opd 
  // String name
com.vainolo.phd.opp.utilities/src/com/vainolo/phd/opp/utilities/OPPFileUtils.java
// OPMObject object = OPMFactory.eINSTANCE.createOPMObject();
  // object.setId(1);
  // object.setName(name);
  // object.setConstraints(new Rectangle(200, 100, 100, 100));
  // opd.getNodes().add(object);
  // opd.setLastKnownUsedId(1);
  //
void createInitialObjectNode(OPMObjectProcessDiagram opd,
  // String name)
@@ -6,7 +6,7 @@
 package com.vainolo.phd.opp.utilities;
 
 import static com.vainolo.phd.opp.utilities.OPPLogger.logInfo;
-import static com.vainolo.phd.opp.utilities.OPPLogger.logWarning;
+import static com.vainolo.phd.opp.utilities.OPPLogger.logSevere;
 
 import java.io.IOException;
 
@@ -28,24 +28,22 @@ public class OPPFileUtils {
   public static OPPObjectProcessDiagram loadOPPFile(String uri) {
     OPPObjectProcessDiagram opd;
     ResourceSet resourceSet = new ResourceSetImpl();
-    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
-        .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
+    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
     Resource oppResource = resourceSet.createResource(URI.createURI(uri));
     try {
       oppResource.load(null);
       opd = (OPPObjectProcessDiagram) oppResource.getContents().get(0);
-    } catch(final IOException e) {
-      logWarning("OPD File " + uri + " could not be loaded. Please check the path.");
-      logWarning("Exception thrown: " + e);
+    } catch (final IOException e) {
+      logSevere("OPD File " + uri + " could not be loaded. Please check the path.");
+      logSevere("Exception thrown: " + e);
       opd = null;
     }
 
     return opd;
   }
 
-  public static void createOPPFile(IFile opdFile, String name, OPPObjectProcessDiagramKind kind, boolean isObject,
-      boolean isProcess) throws IOException {
-    if(opdFile.exists()) {
+  public static void createOPPFile(IFile opdFile, String name, OPPObjectProcessDiagramKind kind, boolean isObject, boolean isProcess) throws IOException {
+    if (opdFile.exists()) {
       logInfo("Tried to create file that already exists.");
       logInfo("Filename: " + opdFile.getFullPath());
       throw new IllegalArgumentException("Tried to create a file that already exists: " + opdFile.getName());
@@ -58,7 +56,7 @@ public static void createOPPFile(IFile opdFile, String name, OPPObjectProcessDia
     opd.setName(name);
     opd.setKind(kind);
     resource.getContents().add(opd);
-    switch(kind) {
+    switch (kind) {
     case COMPOUND:
       createInitialOPPProcessNode(opd, name);
       break;
@@ -90,77 +88,4 @@ private static void createInitialOPPObjectNode(OPPObjectProcessDiagram opd, Stri
     opd.getNodes().add(object);
     opd.setLastKnownUsedId(1);
   }
-
-  // public static OPMObjectProcessDiagram loadOPDFile(String uri) {
-  // OPMObjectProcessDiagram opd;
-  // final ResourceSet resourceSet = new ResourceSetImpl();
-  // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
-  // .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new
-  // XMIResourceFactoryImpl());
-  // final Resource opdResource =
-  // resourceSet.createResource(URI.createURI(uri));
-  // try {
-  // opdResource.load(null);
-  // opd = (OPMObjectProcessDiagram) opdResource.getContents().get(0);
-  // } catch(final IOException e) {
-  // logWarning("OPD File " + uri +
-  // " could not be loaded. Please check the path.");
-  // logWarning("Exception thrown: " + e);
-  // opd = null;
-  // }
-  //
-  // return opd;
-  // }
-  //
-  // public static void createOPDFile2(IFile opdFile, String name,
-  // OPMObjectProcessDiagramKind kind, boolean isObject,
-  // boolean isProcess) throws IOException {
-  // if(opdFile.exists()) {
-  // logInfo("Tried to create file that already exists.");
-  // logInfo("Filename: " + opdFile.getFullPath());
-  // throw new
-  // IllegalArgumentException("Tried to create a file that already exists: " +
-  // opdFile.getName());
-  // }
-  //
-  // final ResourceSet resourceSet = new ResourceSetImpl();
-  // final Resource resource =
-  // resourceSet.createResource(URI.createURI(opdFile.getLocationURI().toString()));
-  // OPMObjectProcessDiagram opd =
-  // OPMFactory.eINSTANCE.createOPMObjectProcessDiagram();
-  // opd.setId(0);
-  // opd.setName(name);
-  // opd.setKind(kind);
-  // resource.getContents().add(opd);
-  // switch(kind) {
-  // case COMPOUND:
-  // createInitialProcessNode(opd);
-  // break;
-  // case UNFOLDED:
-  // createInitialObjectNode(opd, name);
-  // break;
-  // case SYSTEM:
-  // break;
-  // }
-  // resource.save(null);
-  // }
-  //
-  // private static void createInitialProcessNode(OPMObjectProcessDiagram opd) {
-  // OPMProcess process = OPMFactory.eINSTANCE.createOPMProcess();
-  // process.setId(1);
-  // process.setName("");
-  // process.setConstraints(new Rectangle(200, 100, 100, 100));
-  // opd.getNodes().add(process);
-  // opd.setLastKnownUsedId(1);
-  // }
-  //
-  // private static void createInitialObjectNode(OPMObjectProcessDiagram opd,
-  // String name) {
-  // OPMObject object = OPMFactory.eINSTANCE.createOPMObject();
-  // object.setId(1);
-  // object.setName(name);
-  // object.setConstraints(new Rectangle(200, 100, 100, 100));
-  // opd.getNodes().add(object);
-  // opd.setLastKnownUsedId(1);
-  // }
 }

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Futilities%2FOPPFileUtils.java
06c82f9001689ea90006e767de4dc97999975be2
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Futilities%2Fanalysis%2FOPPOPDAnalyzer.java
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.utilities%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Futilities%2Fanalysis%2FOPPOPDAnalyzer.java?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.utilities/src/com/vainolo/phd/opp/utilities/analysis/OPPOPDAnalyzer.java
    if (OPPObject.class.isInstance(source) && !OPPObject.class.isInstance(target))
    else if (!OPPObject.class.isInstance(source) && OPPObject.class.isInstance(target))
    else if (OPPState.class.isInstance(source))
    if (OPPObject.class.isInstance(source))
    else if (OPPState.class.isInstance(source))
    if (OPPProcess.class.isInstance(source) && !OPPProcess.class.isInstance(target))
    else if (!OPPProcess.class.isInstance(source) && OPPProcess.class.isInstance(target))
    while (!(currentContainer instanceof OPPObjectProcessDiagram)) {
    for (OPPObject parameter : findParameters(opd)) {
      if (hasOutgoingDataLinks(parameter)) {
    for (OPPObject parameter : findParameters(opd)) {
      if (hasIncomingResultLink(parameter)) {
    for (OPPLink link : parameter.getIncomingLinks()) {
      if (OPPProceduralLink.class.isInstance(link)) {
        if (IsOPPResultLink.INSTANCE.apply(OPPProceduralLink.class.cast(link)) || IsOPPConsumptionLink.INSTANCE.apply(OPPProceduralLink.class.cast(link))) {
    for (OPPState state : findStates(object)) {
    for (OPPState state : findStates(object)) {
    for (OPPNode node : opd.getNodes()) {
      if (OPPProcess.class.isInstance(node)) {
        if (inZoomedProcess != null) {
    if (inZoomedProcess == null) {
    if (unfoldedThing == null)
    if (systemThing == null)
    for (OPPNode node : opd.getNodes()) {
      if (OPPThing.class.isInstance(node)) {
        if (thing.getName().equals(opd.getName())) {
      if (OPPPackage.eINSTANCE.getOPPStructuralLinkAggregator().isInstance(link.getSource())
      if (OPPObject.class.isInstance(node)) {
        if (o.isParameter()) {
      if (OPPObject.class.isInstance(node)) {
        if (!o.isParameter()) {
      if (!OPPProceduralLink.class.isInstance(link))
        switch (localLink.getKind()) {
      if (!OPPProceduralLink.class.isInstance(link))
        switch (localLink.getKind()) {
      if (OPPObject.class.isInstance(node))
      if (OPPProcess.class.isInstance(node))
      if (OPPProceduralLink.class.isInstance(input)) {
    for (OPPLink link : incomingStructuralLinks) {
      if (source.getKind().equals(OPPStructuralLinkAggregatorKind.AGGREGATION)) {
    if (OPPObject.class.isInstance(target))
    else if (OPPState.class.isInstance(target))

    if(OPPObject.class.isInstance(source) && !OPPObject.class.isInstance(target))
    else if(!OPPObject.class.isInstance(source) && OPPObject.class.isInstance(target))
    else if(OPPState.class.isInstance(source))
    if(OPPObject.class.isInstance(source))
    else if(OPPState.class.isInstance(source))
    if(OPPProcess.class.isInstance(source) && !OPPProcess.class.isInstance(target))
    else if(!OPPProcess.class.isInstance(source) && OPPProcess.class.isInstance(target))
    while(!(currentContainer instanceof OPPObjectProcessDiagram)) {
    for(OPPObject parameter : findParameters(opd)) {
      if(hasOutgoingDataLinks(parameter)) {
    for(OPPObject parameter : findParameters(opd)) {
      if(hasIncomingResultLink(parameter)) {
    for(OPPLink link : parameter.getIncomingLinks()) {
      if(OPPProceduralLink.class.isInstance(link)) {
        if(IsOPPResultLink.INSTANCE.apply(OPPProceduralLink.class.cast(link))
            || IsOPPConsumptionLink.INSTANCE.apply(OPPProceduralLink.class.cast(link))) {
    for(OPPState state : findStates(object)) {
    for(OPPState state : findStates(object)) {
    for(OPPNode node : opd.getNodes()) {
      if(OPPProcess.class.isInstance(node)) {
        if(inZoomedProcess != null) {
    if(inZoomedProcess == null) {
    if(unfoldedThing == null)
    if(systemThing == null)
    for(OPPNode node : opd.getNodes()) {
      if(OPPThing.class.isInstance(node)) {
        if(thing.getName().equals(opd.getName())) {
      if(OPPPackage.eINSTANCE.getOPPStructuralLinkAggregator().isInstance(link.getSource())
      if(OPPObject.class.isInstance(node)) {
        if(o.isParameter()) {
      if(OPPObject.class.isInstance(node)) {
        if(!o.isParameter()) {
      if(!OPPProceduralLink.class.isInstance(link))
        switch(localLink.getKind()) {
      if(!OPPProceduralLink.class.isInstance(link))
        switch(localLink.getKind()) {
      if(OPPObject.class.isInstance(node))
      if(OPPProcess.class.isInstance(node))
      if(OPPProceduralLink.class.isInstance(input)) {
  /**
   * Check if the given object is parent of other objects
   * 
   * @param object
   *          and {@link OPPObject}
   * @return <code>true</code> if the object is composite, <code>false</code>
   *         otherwise.
   */
  public boolean isObjectComposite(OPPObject object) {
    Collection<OPPLink> outgoingStructuralLinks = findOutgoingStructuralLinks(object);
    for(OPPLink link : outgoingStructuralLinks) {
      OPPStructuralLinkAggregator target = OPPStructuralLinkAggregator.class.cast(link.getTarget());
      if(target.getKind().equals(OPPStructuralLinkAggregatorKind.AGGREGATION)) {
        return true;
      }
    }
    return false;
  }

    for(OPPLink link : incomingStructuralLinks) {
      if(source.getKind().equals(OPPStructuralLinkAggregatorKind.AGGREGATION)) {
  /**
   * Check if the given object is a collection.
   * 
   * @param object
   *          an {@link OPPObject}
   * @return <code>true</code> if the object is a collection, <code>false</code>
   *         otherwise.
   */
  public boolean isObjectCollection(OPPObject object) {
    return object.isCollection();
  }

    if(OPPObject.class.isInstance(target))
    else if(OPPState.class.isInstance(target))

OPPObject object
com.vainolo.phd.opp.utilities/src/com/vainolo/phd/opp/utilities/analysis/OPPOPDAnalyzer.java
Collection<OPPLink> outgoingStructuralLinks = findOutgoingStructuralLinks(object);
    for(OPPLink link : outgoingStructuralLinks) {
      OPPStructuralLinkAggregator target = OPPStructuralLinkAggregator.class.cast(link.getTarget());
      if(target.getKind().equals(OPPStructuralLinkAggregatorKind.AGGREGATION)) {
        return true;
boolean isObjectComposite(OPPObject object)
OPPObject object
com.vainolo.phd.opp.utilities/src/com/vainolo/phd/opp/utilities/analysis/OPPOPDAnalyzer.java
return object.isCollection();
boolean isObjectCollection(OPPObject object)
@@ -45,11 +45,11 @@ public Collection<OPPProcess> findFirstLevelContainedProcesses(OPPContainer cont
   public OPPObject getObject(OPPLink link) {
     OPPNode source = link.getSource();
     OPPNode target = link.getTarget();
-    if(OPPObject.class.isInstance(source) && !OPPObject.class.isInstance(target))
+    if (OPPObject.class.isInstance(source) && !OPPObject.class.isInstance(target))
       return OPPObject.class.cast(source);
-    else if(!OPPObject.class.isInstance(source) && OPPObject.class.isInstance(target))
+    else if (!OPPObject.class.isInstance(source) && OPPObject.class.isInstance(target))
       return OPPObject.class.cast(target);
-    else if(OPPState.class.isInstance(source))
+    else if (OPPState.class.isInstance(source))
       return OPPObject.class.cast(source.getContainer());
     else
       return null;
@@ -67,9 +67,9 @@ else if(OPPState.class.isInstance(source))
    */
   public OPPObject getSourceObject(OPPLink link) {
     OPPNode source = link.getSource();
-    if(OPPObject.class.isInstance(source))
+    if (OPPObject.class.isInstance(source))
       return OPPObject.class.cast(source);
-    else if(OPPState.class.isInstance(source))
+    else if (OPPState.class.isInstance(source))
       return OPPObject.class.cast(source.getContainer());
     else
       throw new IllegalArgumentException("Source must be a state or an object.");
@@ -87,9 +87,9 @@ else if(OPPState.class.isInstance(source))
   public OPPProcess getProcess(OPPLink link) {
     OPPNode source = link.getSource();
     OPPNode target = link.getTarget();
-    if(OPPProcess.class.isInstance(source) && !OPPProcess.class.isInstance(target))
+    if (OPPProcess.class.isInstance(source) && !OPPProcess.class.isInstance(target))
       return OPPProcess.class.cast(source);
-    else if(!OPPProcess.class.isInstance(source) && OPPProcess.class.isInstance(target))
+    else if (!OPPProcess.class.isInstance(source) && OPPProcess.class.isInstance(target))
       return OPPProcess.class.cast(target);
     else
       return null;
@@ -104,7 +104,7 @@ else if(!OPPProcess.class.isInstance(source) && OPPProcess.class.isInstance(targ
    */
   public OPPObjectProcessDiagram findOPD(OPPNode node) {
     OPPContainer currentContainer = node.getContainer();
-    while(!(currentContainer instanceof OPPObjectProcessDiagram)) {
+    while (!(currentContainer instanceof OPPObjectProcessDiagram)) {
       currentContainer = ((OPPNode) currentContainer).getContainer();
     }
     return (OPPObjectProcessDiagram) currentContainer;
@@ -127,8 +127,8 @@ public Collection<OPPObject> findParameters(OPPObjectProcessDiagram opd) {
 
   public Collection<OPPObject> findIncomingParameters(OPPObjectProcessDiagram opd) {
     Collection<OPPObject> incomingParameters = Lists.newArrayList();
-    for(OPPObject parameter : findParameters(opd)) {
-      if(hasOutgoingDataLinks(parameter)) {
+    for (OPPObject parameter : findParameters(opd)) {
+      if (hasOutgoingDataLinks(parameter)) {
         incomingParameters.add(parameter);
       }
     }
@@ -137,19 +137,18 @@ public Collection<OPPObject> findIncomingParameters(OPPObjectProcessDiagram opd)
 
   public Collection<OPPObject> findOutgoingParameters(OPPObjectProcessDiagram opd) {
     Collection<OPPObject> outgoingParameters = Lists.newArrayList();
-    for(OPPObject parameter : findParameters(opd)) {
-      if(hasIncomingResultLink(parameter)) {
+    for (OPPObject parameter : findParameters(opd)) {
+      if (hasIncomingResultLink(parameter)) {
         outgoingParameters.add(parameter);
       }
     }
     return outgoingParameters;
   }
 
   private boolean hasIncomingResultLink(OPPObject parameter) {
-    for(OPPLink link : parameter.getIncomingLinks()) {
-      if(OPPProceduralLink.class.isInstance(link)) {
-        if(IsOPPResultLink.INSTANCE.apply(OPPProceduralLink.class.cast(link))
-            || IsOPPConsumptionLink.INSTANCE.apply(OPPProceduralLink.class.cast(link))) {
+    for (OPPLink link : parameter.getIncomingLinks()) {
+      if (OPPProceduralLink.class.isInstance(link)) {
+        if (IsOPPResultLink.INSTANCE.apply(OPPProceduralLink.class.cast(link)) || IsOPPConsumptionLink.INSTANCE.apply(OPPProceduralLink.class.cast(link))) {
           return true;
         }
       }
@@ -310,7 +309,7 @@ public Collection<OPPProceduralLink> findOutgoingDataLinks(OPPState state) {
   public Collection<OPPProceduralLink> findOutgoingDataLinks(OPPObject object) {
     Collection result = Lists.newArrayList();
     result.addAll(Collections2.filter(object.getOutgoingLinks(), new IsOPPObjectOutgoingDataTransferLink()));
-    for(OPPState state : findStates(object)) {
+    for (OPPState state : findStates(object)) {
       result.addAll(findOutgoingDataLinks(state));
     }
     return result;
@@ -325,7 +324,7 @@ public Collection<OPPProceduralLink> findOutgoingAgentLinks(OPPState state) {
   public Collection<OPPProceduralLink> findOutgoingAgentLinks(OPPObject object) {
     Collection result = Lists.newArrayList();
     result.addAll(Collections2.filter(object.getOutgoingLinks(), IsOPPAgentLink.INSTANCE));
-    for(OPPState state : findStates(object)) {
+    for (OPPState state : findStates(object)) {
       result.addAll(findOutgoingAgentLinks(state));
     }
     return result;
@@ -375,16 +374,16 @@ public Collection<OPPState> findStates(OPPObject object) {
    */
   public OPPProcess getInZoomedProcess(OPPObjectProcessDiagram opd) {
     OPPProcess inZoomedProcess = null;
-    for(OPPNode node : opd.getNodes()) {
-      if(OPPProcess.class.isInstance(node)) {
-        if(inZoomedProcess != null) {
+    for (OPPNode node : opd.getNodes()) {
+      if (OPPProcess.class.isInstance(node)) {
+        if (inZoomedProcess != null) {
           throw new IllegalStateException("More than one process found in an in-zoomed OPD");
         } else {
           inZoomedProcess = (OPPProcess) node;
         }
       }
     }
-    if(inZoomedProcess == null) {
+    if (inZoomedProcess == null) {
       logWarning("Tried to get an in-zoomed process when none exist in the diagram. OPD: {0}.", opd.getName());
     }
     return inZoomedProcess;
@@ -400,7 +399,7 @@ public OPPProcess getInZoomedProcess(OPPObjectProcessDiagram opd) {
    */
   public OPPThing getUnfoldedThing(OPPObjectProcessDiagram opd) {
     OPPThing unfoldedThing = getThingByName(opd, opd.getName());
-    if(unfoldedThing == null)
+    if (unfoldedThing == null)
       logWarning("Tried to get an unfolded thing when none exist in the diagram. OPD: {0}.", opd.getName());
     return unfoldedThing;
   }
@@ -416,16 +415,16 @@ public OPPThing getUnfoldedThing(OPPObjectProcessDiagram opd) {
    */
   public OPPProcess getSystemProcess(OPPObjectProcessDiagram opd) {
     OPPThing systemThing = getThingByName(opd, opd.getName());
-    if(systemThing == null)
+    if (systemThing == null)
       logWarning("Tried to get a system thing when none exist in the diagram. OPD: {0}.", opd.getName());
     return OPPProcess.class.cast(systemThing);
   }
 
   private OPPThing getThingByName(OPPObjectProcessDiagram opd, String name) {
-    for(OPPNode node : opd.getNodes()) {
-      if(OPPThing.class.isInstance(node)) {
+    for (OPPNode node : opd.getNodes()) {
+      if (OPPThing.class.isInstance(node)) {
         OPPThing thing = OPPThing.class.cast(node);
-        if(thing.getName().equals(opd.getName())) {
+        if (thing.getName().equals(opd.getName())) {
           return thing;
         }
       }
@@ -444,7 +443,7 @@ public enum IsOPPStructuralLink implements Predicate<OPPLink> {
 
     @Override
     public boolean apply(final OPPLink link) {
-      if(OPPPackage.eINSTANCE.getOPPStructuralLinkAggregator().isInstance(link.getSource())
+      if (OPPPackage.eINSTANCE.getOPPStructuralLinkAggregator().isInstance(link.getSource())
           || OPPPackage.eINSTANCE.getOPPStructuralLinkAggregator().isInstance(link.getTarget()))
         return true;
 
@@ -463,9 +462,9 @@ public enum IsOPPParameter implements Predicate<OPPNode> {
 
     @Override
     public boolean apply(final OPPNode node) {
-      if(OPPObject.class.isInstance(node)) {
+      if (OPPObject.class.isInstance(node)) {
         OPPObject o = (OPPObject) node;
-        if(o.isParameter()) {
+        if (o.isParameter()) {
           return true;
         }
       }
@@ -484,9 +483,9 @@ public enum IsOPPVariable implements Predicate<OPPNode> {
 
     @Override
     public boolean apply(final OPPNode node) {
-      if(OPPObject.class.isInstance(node)) {
+      if (OPPObject.class.isInstance(node)) {
         OPPObject o = (OPPObject) node;
-        if(!o.isParameter()) {
+        if (!o.isParameter()) {
           return true;
         }
       }
@@ -503,11 +502,11 @@ public boolean apply(final OPPNode node) {
   public static class IsOPPDataLink implements Predicate<OPPLink> {
     @Override
     public boolean apply(final OPPLink link) {
-      if(!OPPProceduralLink.class.isInstance(link))
+      if (!OPPProceduralLink.class.isInstance(link))
         return false;
       else {
         OPPProceduralLink localLink = (OPPProceduralLink) link;
-        switch(localLink.getKind()) {
+        switch (localLink.getKind()) {
         case DATA:
           return true;
         default:
@@ -547,11 +546,11 @@ public enum IsOPPProcessOutgoingDataLink implements Predicate<OPPLink> {
 
     @Override
     public boolean apply(final OPPLink link) {
-      if(!OPPProceduralLink.class.isInstance(link))
+      if (!OPPProceduralLink.class.isInstance(link))
         return false;
       else {
         OPPProceduralLink localLink = OPPProceduralLink.class.cast(link);
-        switch(localLink.getKind()) {
+        switch (localLink.getKind()) {
         case DATA:
           return true;
         default:
@@ -571,7 +570,7 @@ public enum IsOPPObjectNode implements Predicate<OPPNode> {
 
     @Override
     public boolean apply(final OPPNode node) {
-      if(OPPObject.class.isInstance(node))
+      if (OPPObject.class.isInstance(node))
         return true;
       return false;
     }
@@ -587,7 +586,7 @@ public enum IsOPPProcessNode implements Predicate<OPPNode> {
 
     @Override
     public boolean apply(final OPPNode node) {
-      if(OPPProcess.class.isInstance(node))
+      if (OPPProcess.class.isInstance(node))
         return true;
       return false;
     }
@@ -603,7 +602,7 @@ public enum IsOPPAgentLink implements Predicate<OPPLink> {
 
     @Override
     public boolean apply(OPPLink input) {
-      if(OPPProceduralLink.class.isInstance(input)) {
+      if (OPPProceduralLink.class.isInstance(input)) {
         OPPProceduralLink link = OPPProceduralLink.class.cast(input);
         return OPPProceduralLinkKind.AGENT.equals(link.getKind());
       } else {
@@ -665,25 +664,6 @@ public boolean isObjectPartOfAnotherObject(OPPObject object) {
     return findParent(object) != null;
   }
 
-  /**
-   * Check if the given object is parent of other objects
-   * 
-   * @param object
-   *          and {@link OPPObject}
-   * @return <code>true</code> if the object is composite, <code>false</code>
-   *         otherwise.
-   */
-  public boolean isObjectComposite(OPPObject object) {
-    Collection<OPPLink> outgoingStructuralLinks = findOutgoingStructuralLinks(object);
-    for(OPPLink link : outgoingStructuralLinks) {
-      OPPStructuralLinkAggregator target = OPPStructuralLinkAggregator.class.cast(link.getTarget());
-      if(target.getKind().equals(OPPStructuralLinkAggregatorKind.AGGREGATION)) {
-        return true;
-      }
-    }
-    return false;
-  }
-
   /**
    * Find the aggregate parent of this {@link OPPObject}, or <code>null</code>
    * if the {@link OPPObject} has no parent.
@@ -695,28 +675,16 @@ public boolean isObjectComposite(OPPObject object) {
    */
   public OPPObject findParent(OPPObject object) {
     Collection<OPPLink> incomingStructuralLinks = findIncomingStructuralLinks(object);
-    for(OPPLink link : incomingStructuralLinks) {
+    for (OPPLink link : incomingStructuralLinks) {
       OPPStructuralLinkAggregator source = OPPStructuralLinkAggregator.class.cast(link.getSource());
-      if(source.getKind().equals(OPPStructuralLinkAggregatorKind.AGGREGATION)) {
+      if (source.getKind().equals(OPPStructuralLinkAggregatorKind.AGGREGATION)) {
         OPPLink aggregatorIncomingLink = source.getIncomingLinks().iterator().next();
         return OPPObject.class.cast(aggregatorIncomingLink.getSource());
       }
     }
     return null;
   }
 
-  /**
-   * Check if the given object is a collection.
-   * 
-   * @param object
-   *          an {@link OPPObject}
-   * @return <code>true</code> if the object is a collection, <code>false</code>
-   *         otherwise.
-   */
-  public boolean isObjectCollection(OPPObject object) {
-    return object.isCollection();
-  }
-
   public boolean isSourceObject(OPPLink link) {
     return OPPObject.class.isInstance(link.getSource());
   }
@@ -739,9 +707,9 @@ public OPPObject getObject(OPPState state) {
 
   public OPPObject getTargetObject(OPPProceduralLink link) {
     OPPNode target = link.getTarget();
-    if(OPPObject.class.isInstance(target))
+    if (OPPObject.class.isInstance(target))
       return OPPObject.class.cast(target);
-    else if(OPPState.class.isInstance(target))
+    else if (OPPState.class.isInstance(target))
       return OPPObject.class.cast(target.getContainer());
     else
       throw new IllegalArgumentException("Target must be an object or a state.");

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.utilities%2Fsrc%2Fcom%2Fvainolo%2Fphd%2Fopp%2Futilities%2Fanalysis%2FOPPOPDAnalyzer.java
0932c7eda36312941c4fad68b339ee90b41ec3d1
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.validation%2F.settings%2Forg.eclipse.jdt.core.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.validation%2F.settings%2Forg.eclipse.jdt.core.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.validation/.settings/org.eclipse.jdt.core.prefs
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_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=80
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=2
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_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_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_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=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
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=120
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=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2
org.eclipse.jdt.core.formatter.use_on_off_tags=true
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

@@ -5,283 +5,3 @@ org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.8
-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_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=80
-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=2
-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_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_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_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=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not 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=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-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=120
-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=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-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

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.validation%2F.settings%2Forg.eclipse.jdt.core.prefs
295926d964165896ea8aa7c1b1b3c9d3d3caa77e
modified
https://github.com/vainolo/Object-Process-Programming/blob/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.validation%2F.settings%2Forg.eclipse.jdt.ui.prefs
https://api.github.com/repos/vainolo/Object-Process-Programming/contents/com.vainolo.phd.opp.validation%2F.settings%2Forg.eclipse.jdt.ui.prefs?ref=c8c3080c49e883f01a64afc8119c041a889f82d4
com.vainolo.phd.opp.validation/.settings/org.eclipse.jdt.ui.prefs
formatter_profile=_Vainolo

@@ -1,6 +1,5 @@
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Vainolo
 formatter_settings_version=12
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false

https://github.com/vainolo/Object-Process-Programming/raw/c8c3080c49e883f01a64afc8119c041a889f82d4/com.vainolo.phd.opp.validation%2F.settings%2Forg.eclipse.jdt.ui.prefs
19aa3c212964a19ce41be7889b26936ca0f80993
modified
vainolo$object-process-programming
OPPObjectInstance value
if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
    compositeValues.put(newKey, value);
    compositeKeyToIndexMapping.put(UUID.randomUUID().toString(), newKey);
  public void setPart(String name, OPPObjectInstance value) {
    checkTypeForCompositeOnlyOperations();
    if (compositeKeyToIndexMapping.containsKey(name)) {
      compositeValues.remove(compositeKeyToIndexMapping.get(name));
      compositeKeyToIndexMapping.remove(name);
    int lastKey = 0;
    if (compositeValues.size() > 0) {
      lastKey = compositeValues.lastKey();
void
void addLastPart(OPPObjectInstance value)
OPPObjectInstance value
checkTypeForCollectionOnlyOperations();
    if(collectionValues.size() > 0) {
      lastKey = collectionValues.lastKey();
    collectionValues.put(newKey, value);
    collectionNameToIndexMapping.put(UUID.randomUUID().toString(), newKey);
    return newKey;
  public void putCollectionElement(String name, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    if(collectionNameToIndexMapping.containsKey(name)) {
      collectionValues.remove(collectionNameToIndexMapping.get(name));
      collectionNameToIndexMapping.remove(name);
    int index = appendCollectionElement(value);
    collectionNameToIndexMapping.inverse().remove(index);
    collectionNameToIndexMapping.put(name, index);
  public void putCollectionElementAtIndex(int index, OPPObjectInstance value) {
    checkTypeForCollectionOnlyOperations();
    checkNotNull(value, "Cannot insert a null element to a collection.");
    if(collectionValues.containsKey(index)) {
      collectionValues.remove(index);
      collectionNameToIndexMapping.inverse().remove(index);
int
int appendCollectionElement(OPPObjectInstance value)
vainolo$object-process-programming
String key
checkTypeForCompositeOnlyOperations();
    checkState((key != null) && (!"".equals(key)), "Key cannot be null or empty.");
    return compositeValues.get(compositeKeyToIndexMapping.get(key));
OPPObjectInstance
OPPObjectInstance getPart(String key)
String name
checkTypeForCollectionOnlyOperations();
    checkState((name != null) && !("".equals(name)), "Named location of element must not be null or empty.");
    checkState(collectionNameToIndexMapping.containsKey(name), "Collection does contain a value at index %s.", name);
    return collectionValues.get(collectionNameToIndexMapping.get(name));
  public OPPObjectInstance getCollectionElementAtIndex(int index) {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(index);
  public OPPObjectInstance getCollectionFirstElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.firstKey());
  public OPPObjectInstance getLastCollectionElement() {
    checkTypeForCollectionOnlyOperations();
    return collectionValues.get(collectionValues.lastKey());
  public Collection<OPPObjectInstance> getCollectionAllElements() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableCollection(collectionValues.values());
  public Set<String> getCollectionAllIndexes() {
    checkTypeForCollectionOnlyOperations();
    return Collections.unmodifiableSet(collectionNameToIndexMapping.keySet());
    if(InstanceType.STRING.equals(type) || InstanceType.NUMERICAL.equals(type))
    else if(InstanceType.COMPOSITE.equals(type)) {
      for(String partName : parts.keySet()) {
        ret.append(partName + ":" + parts.get(partName) + ",");
OPPObjectInstance
OPPObjectInstance getCollectionElement(String name)