Formatting added

Edward M. Kagan 5 years ago
parent 4b57efe662
commit 7601152f55

@ -0,0 +1,13 @@
{
"recommendations": [
"redhat.java",
"redhat.vscode-xml",
"redhat.vscode-yaml",
"vscjava.vscode-maven",
"vscjava.vscode-java-dependency",
"vscjava.vscode-java-test",
"vscjava.vscode-java-debug",
"esbenp.prettier-vscode",
]
}

@ -0,0 +1,382 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="20">
<profile kind="CodeFormatterProfile" name="2pm.tech" version="20">
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="81"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_if_empty"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_if_empty"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_if_single_item"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_if_single_item"/>
<setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="83"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_if_empty"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_if_single_item"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_if_empty"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="3"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="17"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_if_single_item"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="83"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_if_empty"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_always"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line" value="one_line_if_empty"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="18"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="34"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_constructor" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="82"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_if_empty"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line_on_wrap"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
</profile>
</profiles>

@ -3,21 +3,18 @@ package link.pagan.traqtor;
import link.pagan.traqtor.project.Project; import link.pagan.traqtor.project.Project;
import link.pagan.traqtor.outdated.util.Name; import link.pagan.traqtor.outdated.util.Name;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
class Workspace { class Workspace {
public Workspace name(String... parts) { public Workspace name (String... parts) {
return name(Name.of(parts)); return name(Name.of(parts));
} }
public Workspace name(Name name) { public Workspace name (Name name) {
return this; return this;
} }
public Workspace projects(Project... project) { public Workspace projects (Project... project) {
return this; return this;
} }

@ -4,13 +4,14 @@ import link.pagan.traqtor.outdated.util.Name;
public class Project { public class Project {
public Project name(String... parts) { public Project name (String... parts) {
return name(Name.of(parts)); return name(Name.of(parts));
} }
public Project name(Name name) { public Project name (Name name) {
return this; return this;
} }
} }

@ -5,15 +5,12 @@ import link.pagan.traqtor.outdated.schema.basic.data.mapping.MappingSchemaImpl;
import link.pagan.traqtor.outdated.schema.data.mapping.backend.BackendMapping; import link.pagan.traqtor.outdated.schema.data.mapping.backend.BackendMapping;
import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry; import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry;
/** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
/**
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class JavaBackendMapping extends BackendMapping { public class JavaBackendMapping extends BackendMapping {
public JavaBackendMapping() { public JavaBackendMapping () {
super("Java", new HashMap<MappingEntry, String>() { super("Java", new HashMap<MappingEntry, String>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
put(MappingSchemaImpl.NULLABLE_BOOLEAN, "Boolean"); put(MappingSchemaImpl.NULLABLE_BOOLEAN, "Boolean");
@ -42,6 +39,7 @@ public class JavaBackendMapping extends BackendMapping {
put(MappingSchemaImpl.TIME, "Time"); put(MappingSchemaImpl.TIME, "Time");
put(MappingSchemaImpl.TIMESTAMP, "Timestamp"); put(MappingSchemaImpl.TIMESTAMP, "Timestamp");
} }
}); });
} }

@ -1,24 +1,22 @@
package link.pagan.traqtor.project.database; package link.pagan.traqtor.project.database;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class Database { public class Database {
public static DatabaseProject project() { public static DatabaseProject project () {
return new DatabaseProject(); return new DatabaseProject();
} }
public static DatabaseSchema schema() { public static DatabaseSchema schema () {
return new DatabaseSchema(); return new DatabaseSchema();
} }
public static DatabaseTable table() { public static DatabaseTable table () {
return new DatabaseTable(); return new DatabaseTable();
} }
public static DatabaseColumn column() { public static DatabaseColumn column () {
return new DatabaseColumn(); return new DatabaseColumn();
} }
} }

@ -5,10 +5,7 @@
*/ */
package link.pagan.traqtor.project.database; package link.pagan.traqtor.project.database;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class DatabaseColumn { public class DatabaseColumn {
} }

@ -4,32 +4,28 @@ import link.pagan.traqtor.project.universe.UniverseProject;
import link.pagan.traqtor.project.Project; import link.pagan.traqtor.project.Project;
import link.pagan.traqtor.outdated.util.Name; import link.pagan.traqtor.outdated.util.Name;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class DatabaseProject extends Project { public class DatabaseProject extends Project {
DatabaseProject() { DatabaseProject () {}
}
@Override @Override
public DatabaseProject name(String... parts) { public DatabaseProject name (String... parts) {
super.name(parts); super.name(parts);
return this; return this;
} }
@Override @Override
public DatabaseProject name(Name name) { public DatabaseProject name (Name name) {
super.name(name); super.name(name);
return this; return this;
} }
public DatabaseProject addSchema(DatabaseSchema name) { public DatabaseProject addSchema (DatabaseSchema name) {
return this; return this;
} }
public DatabaseProject universes(UniverseProject... universes) { public DatabaseProject universes (UniverseProject... universes) {
return this; return this;
} }

@ -7,29 +7,23 @@ package link.pagan.traqtor.project.database;
import link.pagan.traqtor.outdated.util.Name; import link.pagan.traqtor.outdated.util.Name;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class DatabaseSchema { public class DatabaseSchema {
DatabaseSchema() { DatabaseSchema () {}
}
public DatabaseSchema name(String... parts) { public DatabaseSchema name (String... parts) {
return name(Name.of(parts)); return name(Name.of(parts));
} }
public DatabaseSchema name(Name name) { public DatabaseSchema name (Name name) {
return this; return this;
} }
public DatabaseSchema tables(DatabaseTable... tables) { public DatabaseSchema tables (DatabaseTable... tables) {
return this; return this;
} }
} }

@ -1,12 +1,9 @@
package link.pagan.traqtor.project.database; package link.pagan.traqtor.project.database;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class DatabaseTable { public class DatabaseTable {
public DatabaseTable columns(DatabaseColumn... columns) { public DatabaseTable columns (DatabaseColumn... columns) {
return this; return this;
} }

@ -4,21 +4,16 @@ import link.pagan.traqtor.outdated.util.Name;
import link.pagan.traqtor.outdated.util.Named; import link.pagan.traqtor.outdated.util.Named;
import link.pagan.traqtor.outdated.util.Registrable; import link.pagan.traqtor.outdated.util.Registrable;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class DatabaseAdapter implements Named, Registrable<DatabaseAdapter> { public abstract class DatabaseAdapter implements Named, Registrable<DatabaseAdapter> {
private final Name name; private final Name name;
protected DatabaseAdapter(Name name) { protected DatabaseAdapter (Name name) {
this.name = name; this.name = name;
} }
@Override @Override
public Name getName() { public Name getName () { return name; }
return name;
}
} }

@ -4,13 +4,10 @@ import java.util.HashMap;
import link.pagan.traqtor.outdated.schema.data.mapping.Mapping; import link.pagan.traqtor.outdated.schema.data.mapping.Mapping;
import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry; import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class DatabaseMapping extends Mapping { public class DatabaseMapping extends Mapping {
public DatabaseMapping(String name, HashMap<MappingEntry, String> mapping) { public DatabaseMapping (String name, HashMap<MappingEntry, String> mapping) {
super(name, mapping); super(name, mapping);
} }

@ -5,10 +5,7 @@
*/ */
package link.pagan.traqtor.project.database.mapping; package link.pagan.traqtor.project.database.mapping;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public interface DatabaseNamingScheme { public interface DatabaseNamingScheme {
} }

@ -8,30 +8,25 @@ package link.pagan.traqtor.project.database.mapping.impl;
import link.pagan.traqtor.project.database.mapping.DatabaseAdapter; import link.pagan.traqtor.project.database.mapping.DatabaseAdapter;
import link.pagan.traqtor.outdated.util.Name; import link.pagan.traqtor.outdated.util.Name;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class PostgresDatabaseAdapter extends DatabaseAdapter { public class PostgresDatabaseAdapter extends DatabaseAdapter {
private static final Name NAME = Name.of("traqtor", "basic", "db", "postgres"); private static final Name NAME = Name.of("traqtor", "basic", "db", "postgres");
public PostgresDatabaseAdapter() { public PostgresDatabaseAdapter () {
super(NAME); super(NAME);
} }
// @Override // @Override
// public Map<String, DatabaseAdapter> register() { // public Map<String, DatabaseAdapter> register() {
// return new HashMap<String, DatabaseAdapter>(){ // return new HashMap<String, DatabaseAdapter>(){
// private static final long serialVersionUID = 1L; // private static final long serialVersionUID = 1L;
// { // {
// put(NAME, new PostgresDatabaseAdapter()); // put(NAME, new PostgresDatabaseAdapter());
// }}; // }};
// } // }
@Override @Override
public Name getName() { public Name getName () { return NAME; }
return NAME;
}
} }

@ -5,14 +5,12 @@ import link.pagan.traqtor.outdated.schema.basic.data.mapping.MappingSchemaImpl;
import link.pagan.traqtor.project.database.mapping.DatabaseMapping; import link.pagan.traqtor.project.database.mapping.DatabaseMapping;
import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry; import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class PostgresDatabaseMapping extends DatabaseMapping { public class PostgresDatabaseMapping extends DatabaseMapping {
public PostgresDatabaseMapping() { public PostgresDatabaseMapping () {
super("PostgreSQL", new HashMap<MappingEntry, String>() { super("PostgreSQL", new HashMap<MappingEntry, String>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
put(MappingSchemaImpl.NULLABLE_BOOLEAN, "boolean"); put(MappingSchemaImpl.NULLABLE_BOOLEAN, "boolean");
@ -41,6 +39,7 @@ public class PostgresDatabaseMapping extends DatabaseMapping {
put(MappingSchemaImpl.TIME, "time"); put(MappingSchemaImpl.TIME, "time");
put(MappingSchemaImpl.TIMESTAMP, "timestamp"); put(MappingSchemaImpl.TIMESTAMP, "timestamp");
} }
}); });
} }

@ -5,14 +5,12 @@ import link.pagan.traqtor.outdated.schema.basic.data.mapping.MappingSchemaImpl;
import link.pagan.traqtor.outdated.schema.data.mapping.frontend.FrontendMapping; import link.pagan.traqtor.outdated.schema.data.mapping.frontend.FrontendMapping;
import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry; import link.pagan.traqtor.outdated.schema.data.mapping.MappingEntry;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class JavaScriptFrontendMapping extends FrontendMapping { public class JavaScriptFrontendMapping extends FrontendMapping {
public JavaScriptFrontendMapping() { public JavaScriptFrontendMapping () {
super("JavaScript", new HashMap<MappingEntry, String>() { super("JavaScript", new HashMap<MappingEntry, String>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
put(MappingSchemaImpl.NULLABLE_BOOLEAN, "Boolean"); put(MappingSchemaImpl.NULLABLE_BOOLEAN, "Boolean");
@ -41,6 +39,7 @@ public class JavaScriptFrontendMapping extends FrontendMapping {
put(MappingSchemaImpl.TIME, "Date"); put(MappingSchemaImpl.TIME, "Date");
put(MappingSchemaImpl.TIMESTAMP, "Date"); put(MappingSchemaImpl.TIMESTAMP, "Date");
} }
}); });
} }

@ -8,33 +8,31 @@ import link.pagan.traqtor.project.universe.link.ManyToManyLink;
import link.pagan.traqtor.project.universe.link.OneToManyLink; import link.pagan.traqtor.project.universe.link.OneToManyLink;
import link.pagan.traqtor.project.universe.link.OneToOneLink; import link.pagan.traqtor.project.universe.link.OneToOneLink;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class Universe { public class Universe {
public static UniverseProject project() { public static UniverseProject project () {
return new UniverseProject(); return new UniverseProject();
} }
public static Atom atom() { public static Atom atom () {
return Element.atom(); return Element.atom();
} }
public static Isotope isotope() { public static Isotope isotope () {
return Element.isotope(); return Element.isotope();
} }
public static OneToOneLink linkOneToOne() { public static OneToOneLink linkOneToOne () {
return Link.oneToOne(); return Link.oneToOne();
} }
public static OneToManyLink linkOneToMany() { public static OneToManyLink linkOneToMany () {
return Link.oneToMany(); return Link.oneToMany();
} }
public static ManyToManyLink linkManyToMany() { public static ManyToManyLink linkManyToMany () {
return Link.manyToMany(); return Link.manyToMany();
} }
} }

@ -8,30 +8,29 @@ import link.pagan.traqtor.project.universe.element.Element;
public class UniverseProject extends Project { public class UniverseProject extends Project {
UniverseProject() { UniverseProject () {}
}
@Override @Override
public UniverseProject name(String... parts) { public UniverseProject name (String... parts) {
super.name(parts); super.name(parts);
return this; return this;
} }
@Override @Override
public UniverseProject name(Name name) { public UniverseProject name (Name name) {
super.name(name); super.name(name);
return this; return this;
} }
public UniverseProject schemas(DatatypeSchema... schemas) { public UniverseProject schemas (DatatypeSchema... schemas) {
return this; return this;
} }
public UniverseProject elements(Element... element) { public UniverseProject elements (Element... element) {
return this; return this;
} }
public UniverseProject links(Link... link) { public UniverseProject links (Link... link) {
return this; return this;
} }

@ -6,17 +6,16 @@ import link.pagan.traqtor.outdated.util.Name;
public class Atom extends Element { public class Atom extends Element {
Atom() { Atom () {}
}
@Override @Override
public Atom name(Name name) { public Atom name (Name name) {
super.name(name); super.name(name);
return this; return this;
} }
@Override @Override
public Atom particles(List<Particle<? extends DataType>> particles) { public Atom particles (List<Particle<? extends DataType>> particles) {
super.particles(particles); super.particles(particles);
return this; return this;
} }

@ -7,24 +7,24 @@ import link.pagan.traqtor.outdated.util.Name;
public class Element { public class Element {
public Element name(String... parts){ public Element name (String... parts) {
return name(Name.of(parts)); return name(Name.of(parts));
} }
public Element name(Name name){ public Element name (Name name) {
return this; return this;
} }
@SafeVarargs @SafeVarargs
public final Element particles(Particle<? extends DataType>... particles) { public final Element particles (Particle<? extends DataType>... particles) {
return particles(Arrays.asList(particles)); return particles(Arrays.asList(particles));
} }
public Element particles(List<Particle<? extends DataType>> particles) { public Element particles (List<Particle<? extends DataType>> particles) {
return this; return this;
} }
public static Atom atom () { public static Atom atom () {
return new Atom(); return new Atom();

@ -6,24 +6,23 @@ import link.pagan.traqtor.outdated.util.Name;
public class Isotope extends Element { public class Isotope extends Element {
Isotope() { Isotope () {}
}
Element base; Element base;
@Override @Override
public Isotope name(Name name) { public Isotope name (Name name) {
super.name(name); super.name(name);
return this; return this;
} }
@Override @Override
public Isotope particles(List<Particle<? extends DataType>> particles) { public Isotope particles (List<Particle<? extends DataType>> particles) {
super.particles(particles); super.particles(particles);
return this; return this;
} }
public Isotope base(Element base) { public Isotope base (Element base) {
this.base = base; this.base = base;
return this; return this;
} }

@ -7,14 +7,17 @@ import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.DataType; import link.pagan.traqtor.project.universe.schema.DataType;
import link.pagan.traqtor.outdated.util.Name; import link.pagan.traqtor.outdated.util.Name;
public class Particle<T extends DataType> { public class Particle <T extends DataType> {
final DataType type; final DataType type;
Name name; Name name;
String description; String description;
final List<Constraint<? super T>> constraints; final List<Constraint<? super T>> constraints;
public Particle(DataType type) { public Particle (DataType type) {
this.type = type; this.type = type;
this.constraints = new ArrayList<>(); this.constraints = new ArrayList<>();
} }
@ -29,21 +32,22 @@ public class Particle<T extends DataType> {
return this; return this;
} }
public Particle<T> name(String... parts) { public Particle<T> name (String... parts) {
return name(Name.of(parts)); return name(Name.of(parts));
} }
public Particle<T> name(Name name) { public Particle<T> name (Name name) {
return this; return this;
} }
public Particle<T> description(String description) { public Particle<T> description (String description) {
return this; return this;
} }
public Particle<T> optional() { public Particle<T> optional () {
return this; return this;
} }
} }

@ -5,39 +5,39 @@ import link.pagan.traqtor.outdated.util.Name;
public abstract class Link { public abstract class Link {
public Link from(Element element) { public Link from (Element element) {
return this; return this;
} }
public Link to(Element element) { public Link to (Element element) {
return this; return this;
} }
public Link fromName(Name name) { public Link fromName (Name name) {
return this; return this;
} }
public Link fromName(String... parts) { public Link fromName (String... parts) {
return fromName(Name.of(parts)); return fromName(Name.of(parts));
} }
public Link toName(Name name) { public Link toName (Name name) {
return this; return this;
} }
public Link toName(String... parts) { public Link toName (String... parts) {
return toName(Name.of(parts)); return toName(Name.of(parts));
} }
public static OneToOneLink oneToOne() { public static OneToOneLink oneToOne () {
return new OneToOneLink(); return new OneToOneLink();
} }
public static OneToManyLink oneToMany() { public static OneToManyLink oneToMany () {
return new OneToManyLink(); return new OneToManyLink();
} }
public static ManyToManyLink manyToMany() { public static ManyToManyLink manyToMany () {
return new ManyToManyLink(); return new ManyToManyLink();
} }

@ -5,41 +5,40 @@ import link.pagan.traqtor.project.universe.element.Element;
public class ManyToManyLink extends Link { public class ManyToManyLink extends Link {
ManyToManyLink() { ManyToManyLink () {}
}
@Override @Override
public ManyToManyLink from(Element element) { public ManyToManyLink from (Element element) {
super.from(element); super.from(element);
return this; return this;
} }
@Override @Override
public ManyToManyLink to(Element element) { public ManyToManyLink to (Element element) {
super.to(element); super.to(element);
return this; return this;
} }
@Override @Override
public ManyToManyLink fromName(Name name) { public ManyToManyLink fromName (Name name) {
super.fromName(name); super.fromName(name);
return this; return this;
} }
@Override @Override
public ManyToManyLink fromName(String... parts) { public ManyToManyLink fromName (String... parts) {
super.fromName(parts); super.fromName(parts);
return this; return this;
} }
@Override @Override
public ManyToManyLink toName(Name name) { public ManyToManyLink toName (Name name) {
super.toName(name); super.toName(name);
return this; return this;
} }
@Override @Override
public ManyToManyLink toName(String... parts) { public ManyToManyLink toName (String... parts) {
super.toName(parts); super.toName(parts);
return this; return this;
} }

@ -5,54 +5,54 @@ import link.pagan.traqtor.project.universe.element.Element;
public class OneToManyLink extends Link { public class OneToManyLink extends Link {
OneToManyLink() { OneToManyLink () {}
}
@Override @Override
public OneToManyLink from(Element element) { public OneToManyLink from (Element element) {
super.from(element); super.from(element);
return this; return this;
} }
@Override @Override
public OneToManyLink to(Element element) { public OneToManyLink to (Element element) {
super.to(element); super.to(element);
return this; return this;
} }
@Override @Override
public OneToManyLink fromName(Name name) { public OneToManyLink fromName (Name name) {
super.fromName(name); super.fromName(name);
return this; return this;
} }
@Override @Override
public OneToManyLink fromName(String... parts) { public OneToManyLink fromName (String... parts) {
super.fromName(parts); super.fromName(parts);
return this; return this;
} }
@Override @Override
public OneToManyLink toName(Name name) { public OneToManyLink toName (Name name) {
super.toName(name); super.toName(name);
return this; return this;
} }
@Override @Override
public OneToManyLink toName(String... parts) { public OneToManyLink toName (String... parts) {
super.toName(parts); super.toName(parts);
return this; return this;
} }
public OneToManyLink more(int count) { public OneToManyLink more (int count) {
return this; return this;
} }
public OneToManyLink less(int count) { public OneToManyLink less (int count) {
return this; return this;
} }
public OneToManyLink exact(int count) { public OneToManyLink exact (int count) {
return this; return this;
} }
} }

@ -5,46 +5,46 @@ import link.pagan.traqtor.project.universe.element.Element;
public class OneToOneLink extends Link { public class OneToOneLink extends Link {
OneToOneLink() { OneToOneLink () {}
}
@Override @Override
public OneToOneLink from(Element element) { public OneToOneLink from (Element element) {
super.from(element); super.from(element);
return this; return this;
} }
@Override @Override
public OneToOneLink to(Element element) { public OneToOneLink to (Element element) {
super.to(element); super.to(element);
return this; return this;
} }
@Override @Override
public OneToOneLink fromName(Name name) { public OneToOneLink fromName (Name name) {
super.fromName(name); super.fromName(name);
return this; return this;
} }
@Override @Override
public OneToOneLink fromName(String... parts) { public OneToOneLink fromName (String... parts) {
super.fromName(parts); super.fromName(parts);
return this; return this;
} }
@Override @Override
public OneToOneLink toName(Name name) { public OneToOneLink toName (Name name) {
super.toName(name); super.toName(name);
return this; return this;
} }
@Override @Override
public OneToOneLink toName(String... parts) { public OneToOneLink toName (String... parts) {
super.toName(parts); super.toName(parts);
return this; return this;
} }
public OneToOneLink mandatory() { public OneToOneLink mandatory () {
return this; return this;
} }
} }

@ -1,10 +1,7 @@
package link.pagan.traqtor.project.universe.schema; package link.pagan.traqtor.project.universe.schema;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
* * @param <T> type to which this constraint is applicable */
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
* @param <T> type to which this constraint is applicable
*/
public class Constraint <T extends DataType> { public class Constraint <T extends DataType> {
} }

@ -7,23 +7,14 @@ public abstract class DataType {
final List<Constraint<? extends DataType>> typeConstraints; final List<Constraint<? extends DataType>> typeConstraints;
public DataType(List<Constraint<? extends DataType>> typeConstraints) { public DataType (List<Constraint<? extends DataType>> typeConstraints) {
this.typeConstraints = typeConstraints; this.typeConstraints = typeConstraints;
} }
private String name; private String name;
// protected DataType (){ public String getName () { return name; }
// }
// public DataType(String name) { public abstract Particle<? extends DataType> particle ();
// this.name = name;
// }
public String getName() {
return name;
}
public abstract Particle<? extends DataType> particle();
} }

@ -5,10 +5,7 @@
*/ */
package link.pagan.traqtor.project.universe.schema; package link.pagan.traqtor.project.universe.schema;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class DatatypeSchema { public abstract class DatatypeSchema {
} }

@ -9,7 +9,7 @@ public class LiteralDataTypeSchema extends DatatypeSchema {
public final StringDataType STRING = StringDataType.instance(); public final StringDataType STRING = StringDataType.instance();
public static LiteralDataTypeSchema instance() { public static LiteralDataTypeSchema instance () {
return instance; return instance;
} }

@ -10,7 +10,8 @@ public class LogicDatatypeSchema extends DatatypeSchema {
public final LogicDataType BOOLEAN = BooleanDataType.instance(); public final LogicDataType BOOLEAN = BooleanDataType.instance();
public static LogicDatatypeSchema instance() { public static LogicDatatypeSchema instance () {
return instance; return instance;
} }
} }

@ -15,14 +15,18 @@ public class NumericDatatypeSchema extends DatatypeSchema {
private static final NumericDatatypeSchema instance = new NumericDatatypeSchema(); private static final NumericDatatypeSchema instance = new NumericDatatypeSchema();
public final IntegerDataType BYTE = ByteDataType.instance(); public final IntegerDataType BYTE = ByteDataType.instance();
public final IntegerDataType SHORT = ShortDataType.instance(); public final IntegerDataType SHORT = ShortDataType.instance();
public final IntegerDataType INTEGER = IntDataType.instance(); public final IntegerDataType INTEGER = IntDataType.instance();
public final IntegerDataType LONG = LongDataType.instance(); public final IntegerDataType LONG = LongDataType.instance();
public final RationalDataType FLOAT = FloatDataType.instance(); public final RationalDataType FLOAT = FloatDataType.instance();
public final RationalDataType DOUBLE = DoubleDataType.instance(); public final RationalDataType DOUBLE = DoubleDataType.instance();
public static NumericDatatypeSchema instance() { public static NumericDatatypeSchema instance () {
return instance; return instance;
} }

@ -11,10 +11,13 @@ public class TemporalDatatypeSchema extends DatatypeSchema {
private static final TemporalDatatypeSchema instance = new TemporalDatatypeSchema(); private static final TemporalDatatypeSchema instance = new TemporalDatatypeSchema();
public final TemporalDataType DATE = DateDataType.instance(); public final TemporalDataType DATE = DateDataType.instance();
public final TemporalDataType TIME = TimeDataType.instance(); public final TemporalDataType TIME = TimeDataType.instance();
public final TemporalDataType TIMESTAMP = TimestampDataType.instance(); public final TemporalDataType TIMESTAMP = TimestampDataType.instance();
public static TemporalDatatypeSchema instance() { public static TemporalDatatypeSchema instance () {
return instance; return instance;
} }
} }

@ -5,17 +5,14 @@ import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.DataType; import link.pagan.traqtor.project.universe.schema.DataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class LiteralDataType extends DataType { public abstract class LiteralDataType extends DataType {
public LiteralDataType(List<Constraint<? extends DataType>> typeConstraints) { public LiteralDataType (List<Constraint<? extends DataType>> typeConstraints) {
super(typeConstraints); super(typeConstraints);
} }
@Override @Override
public abstract Particle<? extends LiteralDataType> particle(); public abstract Particle<? extends LiteralDataType> particle ();
} }

@ -5,17 +5,14 @@ import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.DataType; import link.pagan.traqtor.project.universe.schema.DataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class LogicDataType extends DataType { public abstract class LogicDataType extends DataType {
public LogicDataType(List<Constraint<? extends DataType>> typeConstraints) { public LogicDataType (List<Constraint<? extends DataType>> typeConstraints) {
super(typeConstraints); super(typeConstraints);
} }
@Override @Override
public abstract Particle<? extends LogicDataType> particle(); public abstract Particle<? extends LogicDataType> particle ();
} }

@ -5,17 +5,14 @@ import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.DataType; import link.pagan.traqtor.project.universe.schema.DataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class NumericDataType extends DataType { public abstract class NumericDataType extends DataType {
public NumericDataType(List<Constraint<? extends DataType>> typeConstraints) { public NumericDataType (List<Constraint<? extends DataType>> typeConstraints) {
super(typeConstraints); super(typeConstraints);
} }
@Override @Override
public abstract Particle<? extends NumericDataType> particle(); public abstract Particle<? extends NumericDataType> particle ();
} }

@ -5,17 +5,14 @@ import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.DataType; import link.pagan.traqtor.project.universe.schema.DataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class TemporalDataType extends DataType { public abstract class TemporalDataType extends DataType {
public TemporalDataType(List<Constraint<? extends DataType>> typeConstraints) { public TemporalDataType (List<Constraint<? extends DataType>> typeConstraints) {
super(typeConstraints); super(typeConstraints);
} }
@Override @Override
public abstract Particle<? extends TemporalDataType> particle(); public abstract Particle<? extends TemporalDataType> particle ();
} }

@ -1,6 +1,5 @@
package link.pagan.traqtor.project.universe.schema.impl.data.literal; package link.pagan.traqtor.project.universe.schema.impl.data.literal;
import java.util.ArrayList; import java.util.ArrayList;
import link.pagan.traqtor.project.universe.element.Particle; import link.pagan.traqtor.project.universe.element.Particle;
@ -9,36 +8,33 @@ import link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints.
import link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints.LiteralMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints.LiteralMinConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints.LiteralRegExpConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints.LiteralRegExpConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class StringDataType extends LiteralDataType { public class StringDataType extends LiteralDataType {
private static final StringDataType instance = new StringDataType(); private static final StringDataType instance = new StringDataType();
public static StringDataType instance() { public static StringDataType instance () {
return instance; return instance;
} }
private StringDataType() { private StringDataType () {
super(new ArrayList<>()); super(new ArrayList<>());
} }
@Override @Override
public Particle<StringDataType> particle() { public Particle<StringDataType> particle () {
return new Particle<StringDataType>(this); return new Particle<StringDataType>(this);
} }
public LiteralMinConstraint min(long min) { public LiteralMinConstraint min (long min) {
return new LiteralMinConstraint(min); return new LiteralMinConstraint(min);
} }
public LiteralMaxConstraint max(long max) { public LiteralMaxConstraint max (long max) {
return new LiteralMaxConstraint(max); return new LiteralMaxConstraint(max);
} }
public LiteralRegExpConstraint regExp(String regExp) { public LiteralRegExpConstraint regExp (String regExp) {
return new LiteralRegExpConstraint(regExp); return new LiteralRegExpConstraint(regExp);
} }

@ -3,15 +3,12 @@ package link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.impl.data.literal.StringDataType; import link.pagan.traqtor.project.universe.schema.impl.data.literal.StringDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class LiteralMaxConstraint extends Constraint<StringDataType> { public class LiteralMaxConstraint extends Constraint<StringDataType> {
long max; long max;
public LiteralMaxConstraint(long max) { public LiteralMaxConstraint (long max) {
this.max = max; this.max = max;
} }

@ -3,15 +3,12 @@ package link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.impl.data.literal.StringDataType; import link.pagan.traqtor.project.universe.schema.impl.data.literal.StringDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class LiteralMinConstraint extends Constraint<StringDataType> { public class LiteralMinConstraint extends Constraint<StringDataType> {
long min; long min;
public LiteralMinConstraint(long min) { public LiteralMinConstraint (long min) {
this.min = min; this.min = min;
} }

@ -3,15 +3,12 @@ package link.pagan.traqtor.project.universe.schema.impl.data.literal.constraints
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.impl.data.literal.StringDataType; import link.pagan.traqtor.project.universe.schema.impl.data.literal.StringDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class LiteralRegExpConstraint extends Constraint<StringDataType> { public class LiteralRegExpConstraint extends Constraint<StringDataType> {
String regExp; String regExp;
public LiteralRegExpConstraint(String regExp) { public LiteralRegExpConstraint (String regExp) {
this.regExp = regExp; this.regExp = regExp;
} }

@ -1,29 +1,25 @@
package link.pagan.traqtor.project.universe.schema.impl.data.logic; package link.pagan.traqtor.project.universe.schema.impl.data.logic;
import java.util.ArrayList; import java.util.ArrayList;
import link.pagan.traqtor.project.universe.element.Particle; import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.impl.data.LogicDataType; import link.pagan.traqtor.project.universe.schema.impl.data.LogicDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class BooleanDataType extends LogicDataType { public class BooleanDataType extends LogicDataType {
private static final BooleanDataType instance = new BooleanDataType(); private static final BooleanDataType instance = new BooleanDataType();
public static BooleanDataType instance() { public static BooleanDataType instance () {
return instance; return instance;
} }
private BooleanDataType() { private BooleanDataType () {
super(new ArrayList<>()); super(new ArrayList<>());
} }
@Override @Override
public Particle<BooleanDataType> particle() { public Particle<BooleanDataType> particle () {
return new Particle<BooleanDataType>(this); return new Particle<BooleanDataType>(this);
} }

@ -8,24 +8,21 @@ import link.pagan.traqtor.project.universe.schema.impl.data.NumericDataType;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class IntegerDataType extends NumericDataType { public abstract class IntegerDataType extends NumericDataType {
public IntegerDataType(List<Constraint<? extends DataType>> typeConstraints) { public IntegerDataType (List<Constraint<? extends DataType>> typeConstraints) {
super(typeConstraints); super(typeConstraints);
} }
@Override @Override
public abstract Particle<? extends IntegerDataType> particle(); public abstract Particle<? extends IntegerDataType> particle ();
public IntegerMinConstraint min(long min) { public IntegerMinConstraint min (long min) {
return new IntegerMinConstraint(min); return new IntegerMinConstraint(min);
} }
public IntegerMaxConstraint max(long max) { public IntegerMaxConstraint max (long max) {
return new IntegerMaxConstraint(max); return new IntegerMaxConstraint(max);
} }

@ -8,24 +8,21 @@ import link.pagan.traqtor.project.universe.schema.impl.data.NumericDataType;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public abstract class RationalDataType extends NumericDataType { public abstract class RationalDataType extends NumericDataType {
public RationalDataType(List<Constraint<? extends DataType>> typeConstraints) { public RationalDataType (List<Constraint<? extends DataType>> typeConstraints) {
super(typeConstraints); super(typeConstraints);
} }
@Override @Override
public abstract Particle<? extends RationalDataType> particle(); public abstract Particle<? extends RationalDataType> particle ();
public RationalMinConstraint min(double min) { public RationalMinConstraint min (double min) {
return new RationalMinConstraint(min); return new RationalMinConstraint(min);
} }
public RationalMaxConstraint max(double max) { public RationalMaxConstraint max (double max) {
return new RationalMaxConstraint(max); return new RationalMaxConstraint(max);
} }

@ -6,31 +6,30 @@ import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataT
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class ByteDataType extends IntegerDataType { public class ByteDataType extends IntegerDataType {
private static final ByteDataType instance = new ByteDataType(); private static final ByteDataType instance = new ByteDataType();
public static ByteDataType instance() { public static ByteDataType instance () {
return instance; return instance;
} }
private ByteDataType() { private ByteDataType () {
super(new ArrayList<>() { super(new ArrayList<>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
add(new IntegerMaxConstraint(Byte.MAX_VALUE)); add(new IntegerMaxConstraint(Byte.MAX_VALUE));
add(new IntegerMinConstraint(Byte.MIN_VALUE)); add(new IntegerMinConstraint(Byte.MIN_VALUE));
} }
}); });
} }
@Override @Override
public Particle<ByteDataType> particle() { public Particle<ByteDataType> particle () {
return new Particle<ByteDataType>(this); return new Particle<ByteDataType>(this);
} }

@ -6,31 +6,30 @@ import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataT
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class IntDataType extends IntegerDataType { public class IntDataType extends IntegerDataType {
private static final IntDataType instance = new IntDataType(); private static final IntDataType instance = new IntDataType();
public static IntDataType instance() { public static IntDataType instance () {
return instance; return instance;
} }
private IntDataType() { private IntDataType () {
super(new ArrayList<>() { super(new ArrayList<>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
add(new IntegerMaxConstraint(Integer.MAX_VALUE)); add(new IntegerMaxConstraint(Integer.MAX_VALUE));
add(new IntegerMinConstraint(Integer.MIN_VALUE)); add(new IntegerMinConstraint(Integer.MIN_VALUE));
} }
}); });
} }
@Override @Override
public Particle<IntDataType> particle() { public Particle<IntDataType> particle () {
return new Particle<IntDataType>(this); return new Particle<IntDataType>(this);
} }

@ -6,31 +6,30 @@ import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataT
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class LongDataType extends IntegerDataType { public class LongDataType extends IntegerDataType {
private static final LongDataType instance = new LongDataType(); private static final LongDataType instance = new LongDataType();
public static LongDataType instance() { public static LongDataType instance () {
return instance; return instance;
} }
private LongDataType() { private LongDataType () {
super(new ArrayList<>() { super(new ArrayList<>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
add(new IntegerMaxConstraint(Long.MAX_VALUE)); add(new IntegerMaxConstraint(Long.MAX_VALUE));
add(new IntegerMinConstraint(Long.MIN_VALUE)); add(new IntegerMinConstraint(Long.MIN_VALUE));
} }
}); });
} }
@Override @Override
public Particle<LongDataType> particle() { public Particle<LongDataType> particle () {
return new Particle<LongDataType>(this); return new Particle<LongDataType>(this);
} }

@ -6,31 +6,30 @@ import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataT
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.constraints.IntegerMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class ShortDataType extends IntegerDataType { public class ShortDataType extends IntegerDataType {
private static final ShortDataType instance = new ShortDataType(); private static final ShortDataType instance = new ShortDataType();
public static ShortDataType instance() { public static ShortDataType instance () {
return instance; return instance;
} }
private ShortDataType() { private ShortDataType () {
super(new ArrayList<>() { super(new ArrayList<>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
add(new IntegerMaxConstraint(Short.MAX_VALUE)); add(new IntegerMaxConstraint(Short.MAX_VALUE));
add(new IntegerMinConstraint(Short.MIN_VALUE)); add(new IntegerMinConstraint(Short.MIN_VALUE));
} }
}); });
} }
@Override @Override
public Particle<ShortDataType> particle() { public Particle<ShortDataType> particle () {
return new Particle<ShortDataType>(this); return new Particle<ShortDataType>(this);
} }

@ -3,15 +3,12 @@ package link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.con
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataType; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class IntegerMaxConstraint extends Constraint<IntegerDataType> { public class IntegerMaxConstraint extends Constraint<IntegerDataType> {
long max; long max;
public IntegerMaxConstraint(long max) { public IntegerMaxConstraint (long max) {
this.max = max; this.max = max;
} }

@ -3,15 +3,12 @@ package link.pagan.traqtor.project.universe.schema.impl.data.numeric.integer.con
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataType; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.IntegerDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class IntegerMinConstraint extends Constraint<IntegerDataType> { public class IntegerMinConstraint extends Constraint<IntegerDataType> {
long min; long min;
public IntegerMinConstraint(long min) { public IntegerMinConstraint (long min) {
this.min = min; this.min = min;
} }

@ -6,31 +6,30 @@ import link.pagan.traqtor.project.universe.schema.impl.data.numeric.RationalData
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class DoubleDataType extends RationalDataType { public class DoubleDataType extends RationalDataType {
private static final DoubleDataType instance = new DoubleDataType(); private static final DoubleDataType instance = new DoubleDataType();
public static DoubleDataType instance() { public static DoubleDataType instance () {
return instance; return instance;
} }
private DoubleDataType() { private DoubleDataType () {
super(new ArrayList<>() { super(new ArrayList<>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
add(new RationalMaxConstraint(Double.MAX_VALUE)); add(new RationalMaxConstraint(Double.MAX_VALUE));
add(new RationalMinConstraint(Double.MIN_VALUE)); add(new RationalMinConstraint(Double.MIN_VALUE));
} }
}); });
} }
@Override @Override
public Particle<DoubleDataType> particle() { public Particle<DoubleDataType> particle () {
return new Particle<DoubleDataType>(this); return new Particle<DoubleDataType>(this);
} }

@ -6,31 +6,30 @@ import link.pagan.traqtor.project.universe.schema.impl.data.numeric.RationalData
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMaxConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMaxConstraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMinConstraint; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constraints.RationalMinConstraint;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class FloatDataType extends RationalDataType { public class FloatDataType extends RationalDataType {
private static final FloatDataType instance = new FloatDataType(); private static final FloatDataType instance = new FloatDataType();
public static FloatDataType instance() { public static FloatDataType instance () {
return instance; return instance;
} }
private FloatDataType() { private FloatDataType () {
super(new ArrayList<>() { super(new ArrayList<>() {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
add(new RationalMaxConstraint(Float.MAX_VALUE)); add(new RationalMaxConstraint(Float.MAX_VALUE));
add(new RationalMinConstraint(Float.MIN_VALUE)); add(new RationalMinConstraint(Float.MIN_VALUE));
} }
}); });
} }
@Override @Override
public Particle<FloatDataType> particle() { public Particle<FloatDataType> particle () {
return new Particle<FloatDataType>(this); return new Particle<FloatDataType>(this);
} }

@ -3,15 +3,12 @@ package link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constr
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.RationalDataType; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.RationalDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class RationalMaxConstraint extends Constraint<RationalDataType> { public class RationalMaxConstraint extends Constraint<RationalDataType> {
double max; double max;
public RationalMaxConstraint(double max) { public RationalMaxConstraint (double max) {
this.max = max; this.max = max;
} }

@ -3,15 +3,12 @@ package link.pagan.traqtor.project.universe.schema.impl.data.numeric.real.constr
import link.pagan.traqtor.project.universe.schema.Constraint; import link.pagan.traqtor.project.universe.schema.Constraint;
import link.pagan.traqtor.project.universe.schema.impl.data.numeric.RationalDataType; import link.pagan.traqtor.project.universe.schema.impl.data.numeric.RationalDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class RationalMinConstraint extends Constraint<RationalDataType> { public class RationalMinConstraint extends Constraint<RationalDataType> {
double min; double min;
public RationalMinConstraint(double min) { public RationalMinConstraint (double min) {
this.min = min; this.min = min;
} }

@ -4,24 +4,21 @@ import java.util.ArrayList;
import link.pagan.traqtor.project.universe.element.Particle; import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.impl.data.TemporalDataType; import link.pagan.traqtor.project.universe.schema.impl.data.TemporalDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class DateDataType extends TemporalDataType { public class DateDataType extends TemporalDataType {
private static final DateDataType instance = new DateDataType(); private static final DateDataType instance = new DateDataType();
public static DateDataType instance() { public static DateDataType instance () {
return instance; return instance;
} }
private DateDataType() { private DateDataType () {
super(new ArrayList<>()); super(new ArrayList<>());
} }
@Override @Override
public Particle<DateDataType> particle() { public Particle<DateDataType> particle () {
return new Particle<DateDataType>(this); return new Particle<DateDataType>(this);
} }

@ -4,24 +4,21 @@ import java.util.ArrayList;
import link.pagan.traqtor.project.universe.element.Particle; import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.impl.data.TemporalDataType; import link.pagan.traqtor.project.universe.schema.impl.data.TemporalDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class TimeDataType extends TemporalDataType { public class TimeDataType extends TemporalDataType {
private static final TimeDataType instance = new TimeDataType(); private static final TimeDataType instance = new TimeDataType();
public static TimeDataType instance() { public static TimeDataType instance () {
return instance; return instance;
} }
private TimeDataType() { private TimeDataType () {
super(new ArrayList<>()); super(new ArrayList<>());
} }
@Override @Override
public Particle<TimeDataType> particle() { public Particle<TimeDataType> particle () {
return new Particle<TimeDataType>(this); return new Particle<TimeDataType>(this);
} }

@ -4,24 +4,21 @@ import java.util.ArrayList;
import link.pagan.traqtor.project.universe.element.Particle; import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.schema.impl.data.TemporalDataType; import link.pagan.traqtor.project.universe.schema.impl.data.TemporalDataType;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class TimestampDataType extends TemporalDataType { public class TimestampDataType extends TemporalDataType {
private static final TimestampDataType instance = new TimestampDataType(); private static final TimestampDataType instance = new TimestampDataType();
public static TimestampDataType instance() { public static TimestampDataType instance () {
return instance; return instance;
} }
private TimestampDataType() { private TimestampDataType () {
super(new ArrayList<>()); super(new ArrayList<>());
} }
@Override @Override
public Particle<TimestampDataType> particle() { public Particle<TimestampDataType> particle () {
return new Particle<TimestampDataType>(this); return new Particle<TimestampDataType>(this);
} }

@ -2,10 +2,10 @@ package link.pagan.traqtor.util;
public class Name { public class Name {
Name(String... string) { Name (String... string) {}
}
public static Name of (String ... parts) { public static Name of (String... parts) {
return new Name(parts); return new Name(parts);
} }
} }

@ -1,20 +1,22 @@
package link.pagan.traqtor.util; package link.pagan.traqtor.util;
/** /** @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >} */
*
* @author Edward M. Kagan {@literal <}kaganem{@literal @}2pm.tech{@literal >}
*/
public class RegExpHelper { public class RegExpHelper {
public static final String URL = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"; public static final String URL = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
public static final String EMAIL = "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"; public static final String EMAIL = "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";
public static final String IP = "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"; public static final String IP = "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";
public static final String PHONE = "\\+(9[976]\\d|8[987530]\\d|6[987]\\d|5[90]\\d|42\\d|3[875]\\d|2[98654321]\\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\\d{1,14}$"; public static final String PHONE = "\\+(9[976]\\d|8[987530]\\d|6[987]\\d|5[90]\\d|42\\d|3[875]\\d|2[98654321]\\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\\d{1,14}$";
public static final String PHONE_RU = "^((\\+7|7|8)+([0-9]){10})$"; public static final String PHONE_RU = "^((\\+7|7|8)+([0-9]){10})$";
public static final String PHONE_US = "1?\\W*([2-9][0-8][0-9])\\W*([2-9][0-9]{2})\\W*([0-9]{4})(\\se?x?t?(\\d*))?"; public static final String PHONE_US = "1?\\W*([2-9][0-8][0-9])\\W*([2-9][0-9]{2})\\W*([0-9]{4})(\\se?x?t?(\\d*))?";
public static final String PHONE_DE = "/^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{1,6}[\\)])?([0-9 \\.\\-\\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/";
public static final String PHONE_UK = "^(?:(?:\\(?(?:0(?:0|11)\\)?[\\s-]?\\(?|\\+)44\\)?[\\s-]?(?:\\(?0\\)?[\\s-]?)?)|(?:\\(?0))(?:(?:\\d{5}\\)?[\\s-]?\\d{4,5})|(?:\\d{4}\\)?[\\s-]?(?:\\d{5}|\\d{3}[\\s-]?\\d{3}))|(?:\\d{3}\\)?[\\s-]?\\d{3}[\\s-]?\\d{3,4})|(?:\\d{2}\\)?[\\s-]?\\d{4}[\\s-]?\\d{4}))(?:[\\s-]?(?:x|ext\\.?|\\#)\\d{3,4})?$";
public static final String PHONE_DE = "/^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{1,6}[\\)])?([0-9 \\.\\-\\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/";
public static final String PHONE_UK = "^(?:(?:\\(?(?:0(?:0|11)\\)?[\\s-]?\\(?|\\+)44\\)?[\\s-]?(?:\\(?0\\)?[\\s-]?)?)|(?:\\(?0))(?:(?:\\d{5}\\)?[\\s-]?\\d{4,5})|(?:\\d{4}\\)?[\\s-]?(?:\\d{5}|\\d{3}[\\s-]?\\d{3}))|(?:\\d{3}\\)?[\\s-]?\\d{3}[\\s-]?\\d{3,4})|(?:\\d{2}\\)?[\\s-]?\\d{4}[\\s-]?\\d{4}))(?:[\\s-]?(?:x|ext\\.?|\\#)\\d{3,4})?$";
} }

@ -5,6 +5,7 @@ import link.pagan.traqtor.project.database.DatabaseProject;
import link.pagan.traqtor.project.universe.UniverseProject; import link.pagan.traqtor.project.universe.UniverseProject;
import link.pagan.traqtor.project.universe.Universe; import link.pagan.traqtor.project.universe.Universe;
import link.pagan.traqtor.project.universe.element.Element; import link.pagan.traqtor.project.universe.element.Element;
import link.pagan.traqtor.project.universe.element.Particle;
import link.pagan.traqtor.project.universe.link.Link; import link.pagan.traqtor.project.universe.link.Link;
import link.pagan.traqtor.project.universe.schema.impl.LiteralDataTypeSchema; import link.pagan.traqtor.project.universe.schema.impl.LiteralDataTypeSchema;
import link.pagan.traqtor.project.universe.schema.impl.LogicDatatypeSchema; import link.pagan.traqtor.project.universe.schema.impl.LogicDatatypeSchema;
@ -19,182 +20,130 @@ import org.junit.jupiter.api.Test;
public class EndToEndTest { public class EndToEndTest {
@Test @Test
void endToEndTest() { void endToEndTest () {
LiteralDataTypeSchema LITERAL = LiteralDataTypeSchema.instance(); LiteralDataTypeSchema LITERAL = LiteralDataTypeSchema.instance();
LogicDatatypeSchema LOGIC = LogicDatatypeSchema.instance(); LogicDatatypeSchema LOGIC = LogicDatatypeSchema.instance();
NumericDatatypeSchema NUMERIC = NumericDatatypeSchema.instance(); NumericDatatypeSchema NUMERIC = NumericDatatypeSchema.instance();
TemporalDatatypeSchema TEMPORAL = TemporalDatatypeSchema.instance(); TemporalDatatypeSchema TEMPORAL = TemporalDatatypeSchema.instance();
StringDataType STRING = LITERAL.STRING; StringDataType STRING = LITERAL.STRING;
// LogicDataType BOOLEAN = LOGIC.BOOLEAN; // LogicDataType BOOLEAN = LOGIC.BOOLEAN;
// IntegerDataType BYTE = NUMERIC.BYTE; // IntegerDataType BYTE = NUMERIC.BYTE;
// IntegerDataType SHORT = NUMERIC.SHORT; // IntegerDataType SHORT = NUMERIC.SHORT;
IntegerDataType INTEGER = NUMERIC.INTEGER; IntegerDataType INTEGER = NUMERIC.INTEGER;
// IntegerDataType LONG = NUMERIC.LONG; // IntegerDataType LONG = NUMERIC.LONG;
RationalDataType FLOAT = NUMERIC.FLOAT; RationalDataType FLOAT = NUMERIC.FLOAT;
RationalDataType DOUBLE = NUMERIC.DOUBLE; RationalDataType DOUBLE = NUMERIC.DOUBLE;
// TemporalDataType DATE = TEMPORAL.DATE; // TemporalDataType DATE = TEMPORAL.DATE;
// TemporalDataType TIME = TEMPORAL.TIME; // TemporalDataType TIME = TEMPORAL.TIME;
// TemporalDataType TIMESTAMP = TEMPORAL.TIMESTAMP; // TemporalDataType TIMESTAMP = TEMPORAL.TIMESTAMP;
Particle<StringDataType> accountEmail = STRING.particle()
.name("email")
.description("email as main identifier for an account")
.constraints(STRING.min(4), STRING.max(512), STRING.regExp(RegExpHelper.EMAIL));
Particle<StringDataType> accountPhone = STRING.particle()
.name("phone")
.description("alternative identifier for an account")
.optional()
.constraints(STRING.min(10), STRING.max(32), STRING.regExp(RegExpHelper.PHONE));
Element account = Universe.atom() Element account = Universe.atom()
.name("account") .name("account")
.particles( .particles(accountEmail, accountPhone);
STRING.particle()
.name("email")
.description("email as main identifier for an account")
.constraints(
STRING.min(4),
STRING.max(512),
STRING.regExp(RegExpHelper.EMAIL)
),
STRING.particle()
.name("phone")
.description("alternative identifier for an account")
.optional()
.constraints(
STRING.min(10),
STRING.max(32),
STRING.regExp(RegExpHelper.PHONE)
)
);
Element accountDetails = Universe.atom() Element accountDetails = Universe.atom()
.name("account", "details") .name("account", "details")
.particles( .particles(STRING.particle()
STRING.particle() .name("last", "name")
.name("last", "name") .description("last name of user")
.description("last name of user") .constraints(STRING.max(64), STRING.min(1)), STRING.particle()
.constraints( .name("first", "name")
STRING.max(64), .description("first name of user")
STRING.min(1) .optional()
), .constraints(STRING.max(64), STRING.min(1)), INTEGER.particle()
STRING.particle() .name("age")
.name("first", "name") .description("age of user owning an account")
.description("first name of user") .constraints(INTEGER.min(18), INTEGER.max(65)));
.optional()
.constraints(
STRING.max(64),
STRING.min(1)
),
INTEGER.particle()
.name("age")
.description("age of user owning an account")
.constraints(
INTEGER.min(18),
INTEGER.max(65)
)
);
Element male = Universe.isotope() Element male = Universe.isotope()
.base(account) .base(account)
.name("male") .name("male")
.particles( .particles(DOUBLE.particle()
DOUBLE.particle() .name("length")
.name("length") .description("penis length")
.description("penis length") .constraints(DOUBLE.min(0), DOUBLE.max(40)));
.constraints(
DOUBLE.min(0),
DOUBLE.max(40)
)
);
Element female = Universe.isotope() Element female = Universe.isotope()
.base(account) .base(account)
.name("female") .name("female")
.particles( .particles(FLOAT.particle()
FLOAT.particle() .name("depth")
.name("depth") .description("vagina depth")
.description("vagina depth") .constraints(DOUBLE.min(0), DOUBLE.max(40)));
.constraints(
DOUBLE.min(0),
DOUBLE.max(40)
)
);
Element position = Universe.atom() Element position = Universe.atom()
.name("position") .name("position")
.particles( .particles(STRING.particle()
STRING.particle() .name("title")
.name("title") .description("position name")
.description("position name") .constraints(STRING.max(255), STRING.min(3)));
.constraints(
STRING.max(255),
STRING.min(3)
)
);
Element militaryId = Universe.atom() Element militaryId = Universe.atom()
.name("military", "id") .name("military", "id")
.particles( .particles(STRING.particle()
STRING.particle() .name("number")
.name("number") .description("military id number")
.description("military id number") .constraints(STRING.max(11), STRING.min(11)));
.constraints(
STRING.max(11),
STRING.min(11)
)
);
Element profile = Universe.atom() Element profile = Universe.atom()
.name(("profile") .name(("profile"));
);
UniverseProject baseUniverse = Universe.project() UniverseProject baseUniverse = Universe.project()
.name("base") .name("base")
.schemas(LITERAL, LOGIC, NUMERIC, TEMPORAL) .schemas(LITERAL, LOGIC, NUMERIC, TEMPORAL)
.elements(account, accountDetails, male, female, position, militaryId, profile) .elements(account, accountDetails, male, female, position, militaryId, profile)
.links(Link.oneToOne() .links(Link.oneToOne()
.from(account) .from(account)
.fromName("details") .fromName("details")
.to(accountDetails) .to(accountDetails)
.toName("account") .toName("account")
.mandatory(), .mandatory(), Universe.linkOneToMany()
Universe.linkOneToMany() .from(account)
.from(account).fromName("profiles") .fromName("profiles")
.to(profile).toName("account") .to(profile)
.more(0), .toName("account")
Universe.linkManyToMany().from(profile) .more(0), Universe.linkManyToMany()
.fromName("positions") .from(profile)
.to(position).toName("profiles"), .fromName("positions")
Universe.linkOneToOne() .to(position)
.from(male).fromName("military", "id") .toName("profiles"), Universe.linkOneToOne()
.to(militaryId).toName("account") .from(male)
); .fromName("military", "id")
.to(militaryId)
.toName("account"));
UniverseProject dataUniverse = Universe.project() UniverseProject dataUniverse = Universe.project()
.name("data") .name("data")
.schemas(LITERAL) .schemas(LITERAL)
.elements(Universe.atom() .elements(Universe.atom()
.name("organization") .name("organization")
.particles( .particles(STRING.particle()
STRING.particle() .name("name")
.name("name") .description("full name of an organization")
.description("full name of an organization") .constraints(STRING.max(255), STRING.min(3))));
.constraints(
STRING.max(255),
STRING.min(3)
)
)
);
DatabaseProject mainDatabase = Database.project() DatabaseProject mainDatabase = Database.project()
.name("primary") .name("primary")
.universes(baseUniverse, dataUniverse) .universes(baseUniverse, dataUniverse)
.addSchema(Database.schema() .addSchema(Database.schema()
.name("public") .name("public")
.tables( .tables(Database.table()
Database.table() .columns()));
.columns()
)
);
new Workspace() new Workspace()
.name("link", "pagan") .name("link", "pagan")
.projects(baseUniverse, .projects(baseUniverse, dataUniverse, mainDatabase);
dataUniverse,
mainDatabase
);
} }
} }

@ -1,11 +1,39 @@
{ {
"folders": [ "folders": [
{
"path": "."
}
],
"settings": {
"java.configuration.updateBuildConfiguration": "automatic",
"editor.formatOnSave": true,
"editor.defaultFormatter": "redhat.java",
"editor.rulers": [
120
],
"workbench.colorCustomizations": {
"editorRuler.foreground": "#AA5C39"
},
"files.exclude": {
"**/.devt": true,
"config": true,
"v1": true,
"script": true,
"source": true,
},
"javascript.format.enable": true,
"java.dependency.packagePresentation": "hierarchical",
"java.dependency.showMembers": true,
"java.dependency.syncWithFolderExplorer": false,
"maven.executable.preferMavenWrapper": false,
"java.format.settings.url": ".vscode/formatting.xml",
"java.format.settings.profile": "2pm.tech",
"maven.terminal.favorites": [
{ {
"path": "." "alias": "format",
"command": "formatter:format"
} }
], ]
"settings": { }
"java.configuration.updateBuildConfiguration": "automatic",
"java.dependency.packagePresentation": "hierarchical"
}
} }
Loading…
Cancel
Save