# HG changeset patch # User sugi # Date 1405350370 -32400 # Node ID aadea6a593769cd5897b2137f9ca53c7145799f5 # Parent 6508ed6ea6a628853ada0f62a7020ba54898c824 create MetaCodeSegment use reflection diff -r 6508ed6ea6a6 -r aadea6a59376 .settings/org.eclipse.jdt.core.prefs --- a/.settings/org.eclipse.jdt.core.prefs Wed Jul 09 03:45:14 2014 +0900 +++ b/.settings/org.eclipse.jdt.core.prefs Tue Jul 15 00:06:10 2014 +0900 @@ -1,13 +1,295 @@ -# -#Mon Jul 07 16:33:01 JST 2014 -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.debug.lineNumber=generate eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.8 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=80 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/codesegment/InputDataSegment.java --- a/src/main/java/alice/codesegment/InputDataSegment.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/codesegment/InputDataSegment.java Tue Jul 15 00:06:10 2014 +0900 @@ -16,101 +16,101 @@ * */ public class InputDataSegment { - - public CodeSegment cs; - private AtomicInteger count = new AtomicInteger(1); // 1 for no input data segments - private AtomicInteger keyCount = new AtomicInteger(0); // number of DataSegments - public InputDataSegment(CodeSegment cs) { - this.cs = cs; - } - - public void init(){ - count = new AtomicInteger(1); - keyCount = new AtomicInteger(0); - } - - public void quickPeek(Receiver receiver) { - cs.list.add(receiver); - if (receiver.managerKey==null){ - DataSegment.getLocal().peek(receiver, cs); - } else { - DataSegment.get(receiver.managerKey).quickPeek(receiver ,cs); - } - } - - public void quickTake(Receiver receiver) { - cs.list.add(receiver); - if (receiver.managerKey==null){ - DataSegment.getLocal().quickTake(receiver, cs); - } else { - DataSegment.get(receiver.managerKey).quickTake(receiver ,cs); - } - } - - public void peek(Receiver receiver) { - cs.list.add(receiver); - if (receiver.managerKey==null){ - DataSegment.getLocal().peek(receiver, cs); - } else { - DataSegment.get(receiver.managerKey).peek(receiver, cs); - } - } + + public CodeSegment cs; + private AtomicInteger count = new AtomicInteger(1); // 1 for no input data segments + private AtomicInteger keyCount = new AtomicInteger(0); // number of DataSegments + public InputDataSegment(CodeSegment cs) { + this.cs = cs; + } + + public void init(){ + count = new AtomicInteger(1); + keyCount = new AtomicInteger(0); + } + + public void quickPeek(Receiver receiver) { + cs.list.add(receiver); + if (receiver.managerKey==null){ + DataSegment.getLocal().peek(receiver, cs); + } else { + DataSegment.get(receiver.managerKey).quickPeek(receiver ,cs); + } + } + + public void quickTake(Receiver receiver) { + cs.list.add(receiver); + if (receiver.managerKey==null){ + DataSegment.getLocal().quickTake(receiver, cs); + } else { + DataSegment.get(receiver.managerKey).quickTake(receiver ,cs); + } + } + + public void peek(Receiver receiver) { + cs.list.add(receiver); + if (receiver.managerKey==null){ + DataSegment.getLocal().peek(receiver, cs); + } else { + DataSegment.get(receiver.managerKey).peek(receiver, cs); + } + } + - - public void take(Receiver receiver) { - cs.list.add(receiver); - if (receiver.managerKey==null){ - DataSegment.getLocal().take(receiver, cs); - } else { - DataSegment.get(receiver.managerKey).take(receiver, cs); - } - } + public void take(Receiver receiver) { + cs.list.add(receiver); + if (receiver.managerKey==null){ + DataSegment.getLocal().take(receiver, cs); + } else { + DataSegment.get(receiver.managerKey).take(receiver, cs); + } + } - public void reply(Receiver receiver, Command reply) { - receiver.index = reply.index; - receiver.from = reply.reverseKey; - if (reply.reverseKey==null){ - receiver.setData(new ReceiveRemoteData(reply.val)); - } else if (!reply.reverseKey.equals("local")) { - receiver.setData(new ReceiveRemoteData(reply.val)); - } else { - receiver.setData(new ReceiveLocalData(reply.obj)); - } - receive(); - } + public void reply(Receiver receiver, Command reply) { + receiver.index = reply.index; + receiver.from = reply.reverseKey; + if (reply.reverseKey==null){ + receiver.setData(new ReceiveRemoteData(reply.val)); + } else if (!reply.reverseKey.equals("local")) { + receiver.setData(new ReceiveRemoteData(reply.val)); + } else { + receiver.setData(new ReceiveLocalData(reply.obj)); + } + receive(); + } + + public void register() { + count.getAndIncrement(); + keyCount.getAndIncrement(); + } - public void register() { - count.getAndIncrement(); - keyCount.getAndIncrement(); - } - - public void setKey() { - if (keyCount.decrementAndGet() == 0) { - receive(); - } - } - - public void receive() { - if (count.decrementAndGet() == 0) { - CodeSegmentManager.submit(cs); - } - } - - /** - * InputDataSegment factory - * @param type PEEK or TAKE - * @return Receiver of DataSegment reply - */ - public Receiver create(CommandType type) { - return new Receiver(this, type); - } + public void setKey() { + if (keyCount.decrementAndGet() == 0) { + receive(); + } + } + + public void receive() { + if (count.decrementAndGet() == 0) { + CodeSegmentManager.submit(cs); + } + } - public void recommand(Receiver receiver) { - // TODO why only local? - DataSegment.getLocal().recommand(receiver, cs); - } - - public void setCounter(int cnt){ - count.set(cnt); - } + /** + * InputDataSegment factory + * @param type PEEK or TAKE + * @return Receiver of DataSegment reply + */ + public Receiver create(CommandType type) { + return new Receiver(this, type); + } + + public void recommand(Receiver receiver) { + // TODO why only local? + DataSegment.getLocal().recommand(receiver, cs); + } + + public void setCounter(int cnt){ + count.set(cnt); + } } diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/daemon/Connection.java --- a/src/main/java/alice/daemon/Connection.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/daemon/Connection.java Tue Jul 15 00:06:10 2014 +0900 @@ -3,10 +3,12 @@ import java.io.IOException; import java.net.Socket; import java.nio.ByteBuffer; +import java.nio.channels.ClosedChannelException; import java.util.concurrent.LinkedBlockingQueue; import alice.codesegment.SingletonMessage; import alice.datasegment.Command; +import alice.datasegment.DataSegment; public class Connection { @@ -16,7 +18,7 @@ public Connection(Socket socket) { this.socket = socket; } - + public Connection() {} public void sendCommand(Command cmd) { @@ -26,10 +28,10 @@ e.printStackTrace(); } } - + public String getInfoString() { return socket.getInetAddress().getHostName() - + ":" + socket.getPort(); + + ":" + socket.getPort(); } public synchronized void write(Command cmd) { @@ -40,19 +42,31 @@ while (buffer.hasRemaining()) { socket.getChannel().write(buffer); } + } catch (ClosedChannelException e) { + // when put dataSegment to remote if connection close this dataSemgent put. + putConnectionInfo(); + } catch (IOException e) { e.printStackTrace(); } } - + public void close(){ try { socket.shutdownOutput(); socket.shutdownInput(); socket.close(); + } catch (ClosedChannelException e) { + putConnectionInfo(); } catch (IOException e) { e.printStackTrace(); } + + } + + public void putConnectionInfo() { + ConnectionInfo c = new ConnectionInfo(socket.getInetAddress().toString() ,socket.getPort()); + DataSegment.getLocal().put("disconnect", c); } } diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/daemon/IncomingTcpConnection.java --- a/src/main/java/alice/daemon/IncomingTcpConnection.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/daemon/IncomingTcpConnection.java Tue Jul 15 00:06:10 2014 +0900 @@ -88,6 +88,7 @@ break; } } catch (ClosedChannelException e) { + connection.putConnectionInfo(); connection.sendCommand(new Command(CommandType.CLOSE, null, null, null, 0, 0, null, null, null)); return; } catch (EOFException e) { diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/datasegment/Receiver.java --- a/src/main/java/alice/datasegment/Receiver.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/datasegment/Receiver.java Tue Jul 15 00:06:10 2014 +0900 @@ -9,104 +9,104 @@ * */ public class Receiver { - private ReceiverData data = new ReceiveRemoteData(); - public InputDataSegment ids; - public int index; - public String from; - public CommandType type; - public String managerKey; - public String key; + private ReceiverData data = new ReceiveRemoteData(); + public InputDataSegment ids; + public int index; + public String from; + public CommandType type; + public String managerKey; + public String key; + + public Receiver(InputDataSegment ids, CommandType type) { + this.ids = ids; + this.type = type; + ids.register(); + + } + + public void setQuickKey(String managerKey, String key){ + setQuickKey(managerKey, key, 0); + } - public Receiver(InputDataSegment ids, CommandType type) { - this.ids = ids; - this.type = type; - ids.register(); - - } - - public void setQuickKey(String managerKey, String key){ - setQuickKey(managerKey, key, 0); - } - - public void setQuickKey(String managerKey, String key, int index) { - this.managerKey = managerKey; - this.key = key; - switch (type) { - case PEEK: - ids.quickPeek(this); - break; - case TAKE: - ids.quickTake(this); - break; - default: - break; - } - ids.setKey(); - } - - public void setKey(String managerKey, String key) { - setKey(managerKey, key, 0); - } + public void setQuickKey(String managerKey, String key, int index) { + this.managerKey = managerKey; + this.key = key; + switch (type) { + case PEEK: + ids.quickPeek(this); + break; + case TAKE: + ids.quickTake(this); + break; + default: + break; + } + ids.setKey(); + } + + public void setKey(String managerKey, String key) { + setKey(managerKey, key, 0); + } - public void setKey(String managerKey, String key, int index) { - this.managerKey = managerKey; - this.key = key; - this.index = index; - switch (type) { - case PEEK: - ids.peek(this); - break; - case TAKE: - ids.take(this); - break; - default: - break; - } - ids.setKey(); - } - - public void setKey(String key) { - setKey(key, 0); - } + public void setKey(String managerKey, String key, int index) { + this.managerKey = managerKey; + this.key = key; + this.index = index; + switch (type) { + case PEEK: + ids.peek(this); + break; + case TAKE: + ids.take(this); + break; + default: + break; + } + ids.setKey(); + } + + public void setKey(String key) { + setKey(key, 0); + } - public void setKey(String key, int index) { - this.key = key; - this.index = index; - switch (type) { - case PEEK: - ids.peek(this); - break; - case TAKE: - ids.take(this); - break; - default: - break; - } - ids.setKey(); - } + public void setKey(String key, int index) { + this.key = key; + this.index = index; + switch (type) { + case PEEK: + ids.peek(this); + break; + case TAKE: + ids.take(this); + break; + default: + break; + } + ids.setKey(); + } - public void setData(ReceiverData r) { - data = r; - } + public void setData(ReceiverData r) { + data = r; + } - public int asInteger() { - return data.asInteger(); - } + public int asInteger() { + return data.asInteger(); + } + + public String asString() { + return data.asString(); + } - public String asString() { - return data.asString(); - } - - public T asClass(Class clazz) { - return data.asClass(clazz); - } - - public Object getObj() { - return data.getObj(); - } + public T asClass(Class clazz) { + return data.asClass(clazz); + } - public Object getVal() { - return data.getVal(); - } - + public Object getObj() { + return data.getObj(); + } + + public Object getVal() { + return data.getVal(); + } + } diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/test/reflection/CSTemplate.java --- a/src/main/java/alice/test/reflection/CSTemplate.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/test/reflection/CSTemplate.java Tue Jul 15 00:06:10 2014 +0900 @@ -4,13 +4,13 @@ public class CSTemplate extends CodeSegment{ - public CSTemplate(){ - - } - - @Override - public void run() { - - } + public CSTemplate(){ + + } + + @Override + public void run() { + System.out.println("runrunrun"); + } } diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/test/reflection/DisposeManager.java --- a/src/main/java/alice/test/reflection/DisposeManager.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/test/reflection/DisposeManager.java Tue Jul 15 00:06:10 2014 +0900 @@ -4,77 +4,99 @@ import javassist.ClassPool; import javassist.CtClass; import javassist.CtField; +import javassist.CtMethod; import javassist.CtNewConstructor; +import javassist.CtNewMethod; import javassist.NotFoundException; +import javassist.bytecode.AccessFlag; public class DisposeManager { - private static DisposeManager instance = new DisposeManager(); - private ClassPool cp = ClassPool.getDefault(); + private static DisposeManager instance = new DisposeManager(); + private ClassPool cp = ClassPool.getDefault(); - private DisposeManager(){} + private DisposeManager(){} - public static DisposeManager getInstance(){ - return instance; - } + public static DisposeManager getInstance(){ + return instance; + } - public void setCodeSegment(String managerKey, Class clazz){ - CtClass cs = null; - String metaName = "Meta"+clazz.getSimpleName(); - try { - // if cannot get mataName Class go catch NotFoundException - cs = cp.get(metaName); - // already created - Class metaClazz = cp.getClassLoader().loadClass(metaName); - metaClazz.newInstance(); - } catch (ClassNotFoundException e) { - System.out.println("ClassLoder loadClass error"); - e.printStackTrace(); - } catch (InstantiationException e) { - System.out.println("newInstance() error"); - } catch (IllegalAccessException e) { - System.out.println("newInstance() error"); - } catch (NotFoundException e) { - try { - CtClass parent = cp.get(clazz.getName()); + public void setCodeSegment(String managerKey, Class clazz){ + CtClass cs = null; + String metaName = "Meta"+clazz.getSimpleName(); + try { + // if cannot get mataName Class go catch NotFoundException + cs = cp.get(metaName); + // already created + Class metaClazz = cp.getClassLoader().loadClass(metaName); + metaClazz.newInstance(); + } catch (ClassNotFoundException e) { + System.out.println("ClassLoder loadClass error"); + e.printStackTrace(); + } catch (InstantiationException e) { + System.out.println("newInstance() error"); + } catch (IllegalAccessException e) { + System.out.println("newInstance() error"); + } catch (NotFoundException e) { + try { + CtClass parent = cp.get(clazz.getName()); + + // check super class is CS + boolean checkSuperClass = parent.getSuperclass().getSimpleName().equals("CodeSegment"); + if (!checkSuperClass) { + // argument wrong + return; + } else { + + // create Meta Code Segment + cs = cp.makeClass("Meta"+clazz.getSimpleName()); + parent.getClassFile().setAccessFlags(AccessFlag.ABSTRACT); + parent.setName("Abstract"+parent.getSimpleName()); + cs.setSuperclass(parent); + + // define meta inputDataSegment + CtClass receiver = cp.get("alice.datasegment.Receiver"); - // check super class is CS - boolean checkSuperClass = parent.getSuperclass().getSimpleName().equals("CodeSegment"); - if (!checkSuperClass) { - // argument wrong - return; - } else { - cs = cp.makeClass("Meta"+clazz.getSimpleName()); - cs.setSuperclass(parent); - - // define meta inputDataSegment - CtClass receiver = cp.get("alice.datasegment.Receiver"); - - // need check exist name - String metaFieldName = "metaInfo"; - - CtField cf = new CtField(receiver ,metaFieldName, cs); - cs.addField(cf, "ids.create(alice.datasegment.CommandType.PEEK)"); - - String cnst = "public "+metaName+"(){" - + metaFieldName+".setKey(\"TEST\");" - + "}"; - - cs.addConstructor(CtNewConstructor.make(cnst, cs)); - - Class metaClass = cs.toClass(); - metaClass.newInstance(); - } - } catch (NotFoundException e1) { - System.out.println("not found super Class"); - return; - } catch (CannotCompileException e1) { - e1.printStackTrace(); - } catch (InstantiationException e1) { - e1.printStackTrace(); - } catch (IllegalAccessException e1) { - e1.printStackTrace(); - } - } + // need check exist name + String metaFieldName = "metaInfo"; + + CtField cf = new CtField(receiver ,metaFieldName, parent); + parent.addField(cf, "ids.create(alice.datasegment.CommandType.PEEK)"); + + cf.getFieldInfo().setAccessFlags(AccessFlag.PUBLIC); + for (CtField f : parent.getFields()){ + int accessType = f.getFieldInfo().getAccessFlags(); + if (accessType != AccessFlag.PUBLIC){ + f.getFieldInfo().setAccessFlags(AccessFlag.PUBLIC); + } + } + + CtMethod runMethod = parent.getMethod("run", "()V"); + CtMethod copy = CtNewMethod.copy(runMethod, cs, null); + runMethod.setName("metaRun"); + System.out.println(copy.getName()); + cs.addMethod(copy); - } + String cnst = "public "+metaName+"(){" + + metaFieldName+".setKey(\"TEST\");" + + "}"; + + cs.addConstructor(CtNewConstructor.make(cnst, cs)); + + parent.toClass(); + Class metaClass = cs.toClass(); + metaClass.newInstance(); + } + } catch (NotFoundException e1) { + System.out.println("not found super Class"); + return; + } catch (CannotCompileException e1) { + e1.printStackTrace(); + } catch (InstantiationException e1) { + e1.printStackTrace(); + } catch (IllegalAccessException e1) { + e1.printStackTrace(); + } + } + + } } diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/test/reflection/DisposeManagerTest.java --- a/src/main/java/alice/test/reflection/DisposeManagerTest.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/test/reflection/DisposeManagerTest.java Tue Jul 15 00:06:10 2014 +0900 @@ -4,14 +4,14 @@ import alice.daemon.Config; public class DisposeManagerTest { - public static void main(String[] args){ - new AliceDaemon(new Config(args)).listen(); // logger off - CSTemplate cs = new CSTemplate(); - cs.ods.put("key1", "String data"); - cs.ods.put("TEST", "TEST"); - //DisposeManager.getInstance().setCodeSegment("local", MetaCodeSegment.class); - //CloseEventManager.getInstance().setCodeSegment("local", MetaCodeSegment.class); - CloseEventManager.getInstance().setCodeSegment("local", alice.test.reflection.MetaCodeSegment.class); - - } + public static void main(String[] args) throws Exception{ + new AliceDaemon(new Config(args)).listen(); // logger off + CSTemplate cs = new CSTemplate(); + cs.ods.put("key1", "String data"); + cs.ods.put("TEST", "TEST"); + DisposeManager.getInstance().setCodeSegment("local", MetaCodeSegment.class); + + DisposeManager.getInstance().setCodeSegment("local", MetaCodeSegment.class); + + } } diff -r 6508ed6ea6a6 -r aadea6a59376 src/main/java/alice/test/reflection/MetaCodeSegment.java --- a/src/main/java/alice/test/reflection/MetaCodeSegment.java Wed Jul 09 03:45:14 2014 +0900 +++ b/src/main/java/alice/test/reflection/MetaCodeSegment.java Tue Jul 15 00:06:10 2014 +0900 @@ -7,30 +7,31 @@ import alice.datasegment.Receiver; public class MetaCodeSegment extends CodeSegment { - - // create input datasegment arg1 - Receiver arg1 = ids.create(CommandType.TAKE); - - public MetaCodeSegment(){ - arg1.setKey("key1", arg1.index); - } - - @Override - public void run() { - System.out.println("type = " + arg1.type); - System.out.println("index = " + arg1.index); - System.out.println("data = " + arg1.getVal()); - System.out.println(((Value)arg1.getVal()).getType()); - - if (arg1.index == 10) { - System.exit(0); - return; - } - System.out.println(MetaCodeSegment.class); - //DisposeManager.getInstance().setCodeSegment("local", MetaCodeSegment.class); - CloseEventManager.getInstance().setCodeSegment("local", MetaCodeSegment.class); - // DataSegment.get("local").update - //ods.update("local", "key1", "String data"); - } + + // create input datasegment arg1 + Receiver arg1 = ids.create(CommandType.TAKE); + + public MetaCodeSegment(){ + arg1.setKey("key1", arg1.index); + } + + @Override + public void run() { + System.out.println("type = " + arg1.type); + System.out.println("index = " + arg1.index); + System.out.println("data = " + arg1.getVal()); + System.out.println(((Value)arg1.getVal()).getType()); + System.out.println(MetaCodeSegment.class.getName()); + + if (arg1.index == 10) { + System.exit(0); + return; + } + System.out.println(MetaCodeSegment.class); + + // DataSegment.get("local").update + ods.update("local", "key1", "String data"); + //this.recycle(); + } } \ No newline at end of file