diff options
author | khorne | 2008-02-21 16:40:51 +0000 |
---|---|---|
committer | khorne | 2008-02-21 16:40:51 +0000 |
commit | 6f4ecf6af194a882c2c3a6e237b05df132a269ce (patch) | |
tree | b7adf8149454786cb416139913d09bcf5296f592 /bundles/org.eclipse.equinox.transforms.hook | |
parent | f7453e33363cd2dd39194154411c4eae7ef5fad2 (diff) | |
download | rt.equinox.bundles-6f4ecf6af194a882c2c3a6e237b05df132a269ce.tar.gz rt.equinox.bundles-6f4ecf6af194a882c2c3a6e237b05df132a269ce.tar.xz rt.equinox.bundles-6f4ecf6af194a882c2c3a6e237b05df132a269ce.zip |
Bug 218422 - Graduating the transform bundles from the incubator
Diffstat (limited to 'bundles/org.eclipse.equinox.transforms.hook')
14 files changed, 592 insertions, 268 deletions
diff --git a/bundles/org.eclipse.equinox.transforms.hook/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.transforms.hook/.settings/org.eclipse.jdt.core.prefs index 6b778881e..78523cd05 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/.settings/org.eclipse.jdt.core.prefs +++ b/bundles/org.eclipse.equinox.transforms.hook/.settings/org.eclipse.jdt.core.prefs @@ -1,12 +1,331 @@ -#Fri Jan 11 11:05:05 EST 2008 +#Thu Aug 16 11:00:59 EDT 2007 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.builder.cleanOutputFolder=clean +org.eclipse.jdt.core.builder.duplicateResourceTask=warning +org.eclipse.jdt.core.builder.invalidClasspath=abort +org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch +org.eclipse.jdt.core.circularClasspath=error +org.eclipse.jdt.core.classpath.exclusionPatterns=enabled +org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.4 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.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=error +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=error +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.3 +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_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_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_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.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=false +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=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=false +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +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.format_guardian_clause_on_one_line=false +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=true +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not 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_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_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=do not 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_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=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=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_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_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.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=800 +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=false +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +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.incompatibleJDKLevel=ignore +org.eclipse.jdt.core.incompleteClasspath=error diff --git a/bundles/org.eclipse.equinox.transforms.hook/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.equinox.transforms.hook/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..1546d829a --- /dev/null +++ b/bundles/org.eclipse.equinox.transforms.hook/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,58 @@ +#Tue Aug 21 11:27:48 CDT 2007 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_core +formatter_settings_version=11 +internal.default.compliance=user +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=; +org.eclipse.jdt.ui.ondemandthreshold=3 +org.eclipse.jdt.ui.staticondemandthreshold=99 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=true +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_variable_declarations_final=true +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=false +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=false +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=false +sp_cleanup.remove_unused_imports=false +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/bundles/org.eclipse.equinox.transforms.hook/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.transforms.hook/META-INF/MANIFEST.MF index b2153f9fd..63b348c46 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.equinox.transforms.hook/META-INF/MANIFEST.MF @@ -7,4 +7,5 @@ Bundle-Version: 1.0.0.qualifier Fragment-Host: org.eclipse.osgi;bundle-version="[3.2.0,4.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-Localization: bundle +Export-Package: org.eclipse.equinox.internal.transforms;x-internal:=true diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/CSVParser.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/CSVParser.java index a2e15a6a2..6f197ef40 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/CSVParser.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/CSVParser.java @@ -9,56 +9,32 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; +import java.io.*; import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.Properties; -import java.util.StringTokenizer; +import java.util.*; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; - import org.eclipse.osgi.framework.log.FrameworkLogEntry; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; +/** + * This class is used by the transformer hook to parse urls provided by transform developers that specifies the particular transforms that should be utilized for a particular transformer. + * TODO: factor this out into a new type of service the transformer uses. Then there could be CSV transforms, programatic transforms, etc. + */ public class CSVParser { /** - * Utility method that transform providers may use to parse a CSV file - * containing mappings between bundle/path regular expressions and - * transformer urls. The resulting transforms are registered against the - * provided type name. - * - * @param context - * the bundle context on which to register the transforms - * @param transformMapURL - * the url to the CSV file - * @param typeName - * the name under which to register any transformations - * @return the service registration corresponding to the transforms - * registered from the contents of the CSV - * @throws IOException - * thrown if there are problems parsing the CSV file + * Parse the given url as a CSV file containing transform tuples. The tuples have the form: + * <pre> + * bundleRegex,pathRegex,transformerResource + * </pre> + * @param transformMapURL the map url + * @return an array of tuples derived from the contents of the file + * @throws IOException thrown if there are issues parsing the file */ - public static ServiceRegistration register(BundleContext context, - URL transformMapURL, String typeName) throws IOException { - Properties properties = new Properties(); - properties.setProperty(TransformTuple.TRANSFORMER_TYPE, typeName); - TransformTuple[] transforms = parse(context, transformMapURL); - return context.registerService(TransformTuple[].class.getName(), - transforms, properties); - } - - public static TransformTuple[] parse(BundleContext context, - URL transformMapURL) throws IOException { - BufferedReader reader = new BufferedReader(new InputStreamReader( - transformMapURL.openStream())); + public static TransformTuple[] parse(URL transformMapURL) throws IOException { + BufferedReader reader = new BufferedReader(new InputStreamReader(transformMapURL.openStream())); String currentLine = null; List list = new ArrayList(); while ((currentLine = reader.readLine()) != null) { @@ -74,8 +50,7 @@ public class CSVParser { String pathPatternString = toker.nextToken().trim(); String transformPath = toker.nextToken().trim(); try { - Pattern bundlePattern = Pattern - .compile(bundlePatternString); + Pattern bundlePattern = Pattern.compile(bundlePatternString); Pattern pathPattern = Pattern.compile(pathPatternString); URL transformerURL = new URL(transformMapURL, transformPath); try { @@ -86,14 +61,10 @@ public class CSVParser { tuple.transformerUrl = transformerURL; list.add(tuple); } catch (IOException e) { - TransformerHook.log( - FrameworkLogEntry.ERROR, - "Could not add transform :" + transformerURL.toString(), e); //$NON-NLS-1$ + TransformerHook.log(FrameworkLogEntry.ERROR, "Could not add transform :" + transformerURL.toString(), e); //$NON-NLS-1$ } } catch (PatternSyntaxException e) { - TransformerHook.log( - FrameworkLogEntry.ERROR, - "Could not add compile transform matching regular expression", e); //$NON-NLS-1$ + TransformerHook.log(FrameworkLogEntry.ERROR, "Could not add compile transform matching regular expression", e); //$NON-NLS-1$ } } catch (NoSuchElementException e) { diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/LazyInputStream.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/LazyInputStream.java index 9ab255736..1a5a4c21b 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/LazyInputStream.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/LazyInputStream.java @@ -9,18 +9,28 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; import java.io.IOException; import java.io.InputStream; +/** + * An input stream that is based off of another stream. + * This other stream is provided as needed by an {@link InputStreamProvider} so that the underlying stream is not eagerly loaded. + */ public class LazyInputStream extends InputStream { private InputStreamProvider provider; private InputStream original = null; + /** + * Construct a new lazy stream based off the given provider. + * @param provider the input stream provider. Must not be <code>null</code>. + */ public LazyInputStream(InputStreamProvider provider) { + if (provider == null) + throw new IllegalArgumentException(); this.provider = provider; } @@ -109,7 +119,16 @@ public class LazyInputStream extends InputStream { } } + /** + * An interface to be implemented by clients that wish to utilize {@link LazyInputStream}s. + * The implementation of this interface should defer obtaining the desired input stream until absolutely necessary. + */ public static interface InputStreamProvider { + /** + * Return the input stream. + * @return the input stream + * @throws IOException thrown if there is an issue obtaining the stream + */ InputStream getInputStream() throws IOException; } } diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/ProxyStreamTransformer.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/ProxyStreamTransformer.java index 34eb8bddc..8ff88abab 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/ProxyStreamTransformer.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/ProxyStreamTransformer.java @@ -9,7 +9,7 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; import java.io.IOException; import java.io.InputStream; @@ -17,22 +17,31 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; +/** + * A proxy stream transformer is a transformer instance that relies on reflection to obtain the "getInputStream" method from an underlying object. + * This class is useful due to the restrictions in the builder that prevent transformer providers from directly implementing {@link StreamTransformer} due to visibility and builder issues related to referring to classes within fragments. + */ public class ProxyStreamTransformer extends StreamTransformer { private Method method; private Object object; + /** + * Create a new proxy transformer based on the given object. + * @param object the object to proxy + * @throws SecurityException thrown if there is an issue utilizing the reflection methods + * @throws NoSuchMethodException thrown if the provided object does not have a "getInputStream" method that takes an {@link InputStream} and an {@link URL} + */ public ProxyStreamTransformer(Object object) throws SecurityException, NoSuchMethodException { this.object = object; method = object.getClass().getMethod("getInputStream", new Class[] {InputStream.class, URL.class}); //$NON-NLS-1$ Class returnType = method.getReturnType(); if (!returnType.equals(InputStream.class)) throw new NoSuchMethodException(); - + } - public InputStream getInputStream(InputStream inputStream, - URL transformerUrl) throws IOException { + public InputStream getInputStream(InputStream inputStream, URL transformerUrl) throws IOException { try { return (InputStream) method.invoke(object, new Object[] {inputStream, transformerUrl}); } catch (IllegalArgumentException e) { @@ -41,11 +50,15 @@ public class ProxyStreamTransformer extends StreamTransformer { throw new IOException(e.getMessage()); } catch (InvocationTargetException e) { if (e.getCause() instanceof IOException) - throw (IOException)e.getCause(); + throw (IOException) e.getCause(); } return null; } + /** + * Get the object that is being proxied. + * @return the object. Never <code>null</code>. + */ public Object getTransformer() { return object; } diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/StreamTransformer.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/StreamTransformer.java new file mode 100644 index 000000000..95f124a93 --- /dev/null +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/StreamTransformer.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.equinox.internal.transforms; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; + +/** + * This class represents the fundamental building block of the transformer system. + * Implementations of this class are capable of transforming an input stream based on a given transformer url. + * The meaning and content of this URL are unspecified - it is the transformers responsibility to interpret these as need be. + */ +public abstract class StreamTransformer { + /** + * Provided a transformed version of the provided input stream. + * @param inputStream the original stream + * @param transformerUrl an url that may be used by the transformer in determining the proper transform to invoke. + * @return the transformed stream + * @throws IOException thrown if there is an issue invoking the transform + */ + public abstract InputStream getInputStream(InputStream inputStream, URL transformerUrl) throws IOException; +} diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformInstanceListData.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformInstanceListData.java index 4966cdfd0..b7dc28aa9 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformInstanceListData.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformInstanceListData.java @@ -9,30 +9,20 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; import java.io.IOException; import java.net.URL; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.InvalidSyntaxException; -import org.osgi.framework.ServiceReference; +import java.util.*; +import org.osgi.framework.*; import org.osgi.util.tracker.ServiceTracker; /** - * Class that represents a dynamic list of TransformTuples that have been - * registered against a particular transform type. + * Class that represents a dynamic list of TransformTuples that have been registered against a particular transform type. */ public class TransformInstanceListData extends ServiceTracker { /** - * Stale state of the transform list. Set to true whenever one of the - * ServiceTrackerCustomization methods are invoked. + * Stale state of the transform list. Set to true whenever one of the ServiceTrackerCustomization methods are invoked. */ private volatile boolean stale = true; @@ -47,25 +37,16 @@ public class TransformInstanceListData extends ServiceTracker { private List rawTuples = new ArrayList(); /** - * Map from bundle ID -> boolean representing whether or not a given bundle - * currently has any transforms registered against it. + * Map from bundle ID -> boolean representing whether or not a given bundle currently has any transforms registered against it. */ private Map bundleIdToTransformPresence = new HashMap(); /** - * Create a new transform list bound to the given context. If new transforms - * are registered against the given context the contents of this list will - * change. - * - * @param context - * the bundle context - * - * @throws InvalidSyntaxException - * thrown if there's an issue listening for changes to the given - * transformer type + * Create a new transform list bound to the given context. If new transforms are registered against the given context the contents of this list will change. + * @param context the bundle context + * @throws InvalidSyntaxException thrown if there's an issue listening for changes to the given transformer type */ - public TransformInstanceListData(BundleContext context) - throws InvalidSyntaxException { + public TransformInstanceListData(BundleContext context) throws InvalidSyntaxException { super(context, context.createFilter("(&(objectClass=" //$NON-NLS-1$ + URL.class.getName() + ")(" + TransformTuple.TRANSFORMER_TYPE //$NON-NLS-1$ + "=*))"), null); //$NON-NLS-1$ @@ -73,13 +54,10 @@ public class TransformInstanceListData extends ServiceTracker { } /** - * Return the transforms currently held by this list. If a change has been - * detected since the last request this list will be rebuilt. - * + * Return the transforms currently held by this list. If a change has been detected since the last request this list will be rebuilt. * @return the transforms currently held by this list */ - public synchronized TransformTuple[] getTransformsFor( - String transformerClass) { + public synchronized TransformTuple[] getTransformsFor(String transformerClass) { if (stale) rebuildTransformMap(); @@ -87,12 +65,8 @@ public class TransformInstanceListData extends ServiceTracker { } /** - * Return whether or not there are any transforms who's bundle pattern - * matches the ID of the provided bundle. Only transforms with a present - * transform handler are considered during the invocation of this method. - * - * @param bundle - * the bundle to test + * Return whether or not there are any transforms who's bundle pattern matches the ID of the provided bundle. Only transforms with a present transform handler are considered during the invocation of this method. + * @param bundle the bundle to test * @return the presence of associated transforms. */ public synchronized boolean hasTransformsFor(Bundle bundle) { @@ -100,8 +74,7 @@ public class TransformInstanceListData extends ServiceTracker { rebuildTransformMap(); String bundleName = bundle.getSymbolicName(); - Boolean hasTransformsFor = (Boolean) bundleIdToTransformPresence - .get(bundleName); + Boolean hasTransformsFor = (Boolean) bundleIdToTransformPresence.get(bundleName); if (hasTransformsFor == null) { hasTransformsFor = Boolean.FALSE; @@ -118,6 +91,9 @@ public class TransformInstanceListData extends ServiceTracker { return hasTransformsFor.booleanValue(); } + /** + * Consults the bundle context for services of the transformer type type and builds the internal cache. + */ private void rebuildTransformMap() { transformerToTuple.clear(); rawTuples.clear(); @@ -130,22 +106,17 @@ public class TransformInstanceListData extends ServiceTracker { for (int i = 0; i < serviceReferences.length; i++) { ServiceReference serviceReference = serviceReferences[i]; - String type = serviceReference.getProperty( - TransformTuple.TRANSFORMER_TYPE).toString(); + String type = serviceReference.getProperty(TransformTuple.TRANSFORMER_TYPE).toString(); URL url = (URL) getService(serviceReference); TransformTuple[] transforms; try { - transforms = CSVParser.parse(context, url); - TransformTuple[] existing = (TransformTuple[]) transformerToTuple - .get(type); + transforms = CSVParser.parse(url); + TransformTuple[] existing = (TransformTuple[]) transformerToTuple.get(type); if (existing != null) { - TransformTuple[] newTransforms = new TransformTuple[existing.length - + transforms.length]; - System.arraycopy(existing, 0, newTransforms, 0, - existing.length); - System.arraycopy(transforms, 0, newTransforms, - existing.length, transforms.length); + TransformTuple[] newTransforms = new TransformTuple[existing.length + transforms.length]; + System.arraycopy(existing, 0, newTransforms, 0, existing.length); + System.arraycopy(transforms, 0, newTransforms, existing.length, transforms.length); transformerToTuple.put(type, newTransforms); } else transformerToTuple.put(type, transforms); @@ -160,11 +131,6 @@ public class TransformInstanceListData extends ServiceTracker { } } - /* - * (non-Javadoc) - * - * @see org.osgi.util.tracker.ServiceTracker#addingService(org.osgi.framework.ServiceReference) - */ public Object addingService(ServiceReference reference) { try { return super.addingService(reference); @@ -173,26 +139,13 @@ public class TransformInstanceListData extends ServiceTracker { } } - /* - * (non-Javadoc) - * - * @see org.osgi.util.tracker.ServiceTracker#modifiedService(org.osgi.framework.ServiceReference, - * java.lang.Object) - */ public void modifiedService(ServiceReference reference, Object service) { super.modifiedService(reference, service); stale = true; } - /* - * (non-Javadoc) - * - * @see org.osgi.util.tracker.ServiceTracker#removedService(org.osgi.framework.ServiceReference, - * java.lang.Object) - */ public void removedService(ServiceReference reference, Object service) { super.removedService(reference, service); stale = true; } - }
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformTuple.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformTuple.java index 7b35463a3..2867129cf 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformTuple.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformTuple.java @@ -9,24 +9,20 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; import java.net.URL; import java.util.regex.Pattern; /** - * Class that represents an association between a bundle pattern, a path - * pattern, and the location of a transformer to apply to any resource that - * matches both the bundle and path pattern. + * Class that represents an association between a bundle pattern, a path pattern, and the location of a transformer to apply to any resource that matches both the bundle and path pattern. */ public class TransformTuple { - + /** - * Constant used when registering transform tuples to identify the type of - * transformer they should be assigned to. + * Constant used when registering transform tuples to identify the type of transformer they should be assigned to. */ public static final String TRANSFORMER_TYPE = "transformerType"; //$NON-NLS-1$ - public Pattern bundlePattern; public Pattern pathPattern; public URL transformerUrl; diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformedBundleEntry.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformedBundleEntry.java index 170e4d591..6a73d4425 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformedBundleEntry.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformedBundleEntry.java @@ -9,19 +9,17 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.net.MalformedURLException; import java.net.URL; - import org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry; import org.eclipse.osgi.framework.log.FrameworkLogEntry; +/** + * This class is capable of providing a transformed version of an entry contained within a base bundle entity. + */ public class TransformedBundleEntry extends BundleEntry { long timestamp; @@ -29,8 +27,13 @@ public class TransformedBundleEntry extends BundleEntry { private BundleEntry original; private TransformedBundleFile bundleFile; - public TransformedBundleEntry(TransformedBundleFile bundleFile, - BundleEntry original, InputStream wrappedStream) { + /** + * Create a wrapped bundle entry. Calls to obtain the content of this entry will be resolved via the provided input stream rather than the original. + * @param bundleFile the host bundle file + * @param original the original entry + * @param wrappedStream the override stream + */ + public TransformedBundleEntry(TransformedBundleFile bundleFile, BundleEntry original, InputStream wrappedStream) { this.stream = wrappedStream; this.bundleFile = bundleFile; this.original = original; @@ -48,7 +51,7 @@ public class TransformedBundleEntry extends BundleEntry { return null; } - public InputStream getInputStream() throws IOException { + public InputStream getInputStream() { return stream; } @@ -60,6 +63,10 @@ public class TransformedBundleEntry extends BundleEntry { return original.getName(); } + /** + * Obtaining the size means inspecting the transformed stream. + * If this stream does not support marks the stream is drained and a copy is retained for later use. + */ public long getSize() { ByteArrayOutputStream tempBuffer = new ByteArrayOutputStream(1024); byte[] buffer = new byte[1024]; @@ -78,9 +85,8 @@ public class TransformedBundleEntry extends BundleEntry { stream = new ByteArrayInputStream(tempBuffer.toByteArray()); } } catch (IOException e) { - TransformerHook.log(FrameworkLogEntry.ERROR, - "Problem calculating size of stream for file. Stream may now be corrupted : " //$NON-NLS-1$ - + getName(), e); + TransformerHook.log(FrameworkLogEntry.ERROR, "Problem calculating size of stream for file. Stream may now be corrupted : " //$NON-NLS-1$ + + getName(), e); } return tempBuffer.size(); diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformedBundleFile.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformedBundleFile.java index c1379284b..038bb7fe8 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformedBundleFile.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformedBundleFile.java @@ -9,20 +9,15 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.util.Enumeration; import java.util.regex.Matcher; import java.util.regex.Pattern; - -import org.eclipse.equinox.transforms.LazyInputStream.InputStreamProvider; +import org.eclipse.equinox.internal.transforms.LazyInputStream.InputStreamProvider; import org.eclipse.osgi.baseadaptor.BaseData; -import org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry; -import org.eclipse.osgi.baseadaptor.bundlefile.BundleFile; -import org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile; +import org.eclipse.osgi.baseadaptor.bundlefile.*; import org.eclipse.osgi.framework.debug.Debug; import org.eclipse.osgi.framework.log.FrameworkLogEntry; import org.eclipse.osgi.internal.baseadaptor.AdaptorMsg; @@ -30,6 +25,10 @@ import org.eclipse.osgi.internal.baseadaptor.AdaptorUtil; import org.eclipse.osgi.util.NLS; import org.osgi.framework.Bundle; +/** + * This class is capable of providing transformed versions of entries contained within a base bundle file. + * For requests that transform bundle contents into local resources (such as file URLs) the transformed state of the bundle is written to the configuration area. + */ public class TransformedBundleFile extends BundleFile { private BundleFile delegate; @@ -37,9 +36,15 @@ public class TransformedBundleFile extends BundleFile { private TransformerList transformers; private TransformInstanceListData templates; - public TransformedBundleFile(TransformerList transformers, - TransformInstanceListData templates, BaseData data, - BundleFile delegate) { + /** + * Create a wrapped bundle file. + * Requests into this file will be compared to the list of known transformers and transformer templates and if there's a match the transformed entity is returned instead of the original. + * @param transformers the list of known transformers + * @param templates the list of known templates + * @param data the original data + * @param delegate the original file + */ + public TransformedBundleFile(TransformerList transformers, TransformInstanceListData templates, BaseData data, BundleFile delegate) { this.transformers = transformers; this.templates = templates; this.data = data; @@ -74,8 +79,7 @@ public class TransformedBundleFile extends BundleFile { return original.getInputStream(); } }); - InputStream wrappedStream = getInputStream(stream, data.getBundle(), - path); + InputStream wrappedStream = getInputStream(stream, data.getBundle(), path); if (wrappedStream == null) return original; return new TransformedBundleEntry(this, original, wrappedStream); @@ -91,31 +95,24 @@ public class TransformedBundleFile extends BundleFile { * the resource representing the transformer * @return the transformed stream */ - protected InputStream getInputStream(InputStream inputStream, - Bundle bundle, String path) { + protected InputStream getInputStream(InputStream inputStream, Bundle bundle, String path) { String namespace = bundle.getSymbolicName(); StreamTransformer[] transformerArray = transformers.getTransformers(); for (int i = 0; i < transformerArray.length; i++) { StreamTransformer transformer = transformerArray[i]; - Object toTest = transformer instanceof ProxyStreamTransformer ? ((ProxyStreamTransformer) transformer) - .getTransformer() - : transformer; + Object toTest = transformer instanceof ProxyStreamTransformer ? ((ProxyStreamTransformer) transformer).getTransformer() : transformer; - TransformTuple[] transforms = templates.getTransformsFor(toTest - .getClass().getName()); + TransformTuple[] transforms = templates.getTransformsFor(toTest.getClass().getName()); if (transforms == null) return null; for (int j = 0; j < transforms.length; j++) { TransformTuple transformTuple = transforms[j]; - if (match(transformTuple.bundlePattern, namespace) - && match(transformTuple.pathPattern, path)) { + if (match(transformTuple.bundlePattern, namespace) && match(transformTuple.pathPattern, path)) { try { - return transformer.getInputStream(inputStream, - transformTuple.transformerUrl); + return transformer.getInputStream(inputStream, transformTuple.transformerUrl); } catch (IOException e) { - TransformerHook.log(FrameworkLogEntry.ERROR, - "Problem obtaining transformed stream from transformer : " //$NON-NLS-1$ - + transformer.getClass().getName(), e); + TransformerHook.log(FrameworkLogEntry.ERROR, "Problem obtaining transformed stream from transformer : " //$NON-NLS-1$ + + transformer.getClass().getName(), e); } } } @@ -157,8 +154,7 @@ public class TransformedBundleFile extends BundleFile { if (nested.exists()) { /* the entry is already cached */ if (Debug.DEBUG && Debug.DEBUG_GENERAL) - Debug - .println("File already present: " + nested.getPath()); //$NON-NLS-1$ + Debug.println("File already present: " + nested.getPath()); //$NON-NLS-1$ if (nested.isDirectory()) // must ensure the complete directory is extracted (bug // 182585) @@ -170,13 +166,8 @@ public class TransformedBundleFile extends BundleFile { if (original.isDirectory()) { if (!nested.mkdirs()) { if (Debug.DEBUG && Debug.DEBUG_GENERAL) - Debug - .println("Unable to create directory: " + nested.getPath()); //$NON-NLS-1$ - throw new IOException( - NLS - .bind( - AdaptorMsg.ADAPTOR_DIRECTORY_CREATE_EXCEPTION, - nested.getAbsolutePath())); + Debug.println("Unable to create directory: " + nested.getPath()); //$NON-NLS-1$ + throw new IOException(NLS.bind(AdaptorMsg.ADAPTOR_DIRECTORY_CREATE_EXCEPTION, nested.getAbsolutePath())); } extractDirectory(path); } else { @@ -191,13 +182,8 @@ public class TransformedBundleFile extends BundleFile { File dir = new File(nested.getParent()); if (!dir.exists() && !dir.mkdirs()) { if (Debug.DEBUG && Debug.DEBUG_GENERAL) - Debug - .println("Unable to create directory: " + dir.getPath()); //$NON-NLS-1$ - throw new IOException( - NLS - .bind( - AdaptorMsg.ADAPTOR_DIRECTORY_CREATE_EXCEPTION, - dir.getAbsolutePath())); + Debug.println("Unable to create directory: " + dir.getPath()); //$NON-NLS-1$ + throw new IOException(NLS.bind(AdaptorMsg.ADAPTOR_DIRECTORY_CREATE_EXCEPTION, dir.getAbsolutePath())); } /* copy the entry to the cache */ AdaptorUtil.readFile(in, nested); @@ -246,7 +232,7 @@ public class TransformedBundleFile extends BundleFile { while (entries.hasMoreElements()) { String entryPath = (String) entries.nextElement(); - if (entryPath.startsWith(dirName)) + if (entryPath.startsWith(dirName)) getFile(entryPath, false); } return getExtractFile(dirName); diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformerHook.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformerHook.java index af6d42851..255c8b51a 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformerHook.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformerHook.java @@ -9,38 +9,32 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; import java.io.IOException; import java.net.URLConnection; import java.util.Properties; - -import org.eclipse.osgi.baseadaptor.BaseAdaptor; -import org.eclipse.osgi.baseadaptor.BaseData; -import org.eclipse.osgi.baseadaptor.HookConfigurator; -import org.eclipse.osgi.baseadaptor.HookRegistry; +import org.eclipse.osgi.baseadaptor.*; import org.eclipse.osgi.baseadaptor.bundlefile.BundleFile; import org.eclipse.osgi.baseadaptor.hooks.AdaptorHook; import org.eclipse.osgi.baseadaptor.hooks.BundleFileWrapperFactoryHook; import org.eclipse.osgi.framework.adaptor.FrameworkAdaptor; import org.eclipse.osgi.framework.log.FrameworkLog; import org.eclipse.osgi.framework.log.FrameworkLogEntry; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleException; -import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.*; -public class TransformerHook implements BundleFileWrapperFactoryHook, - HookConfigurator, AdaptorHook { +/** + * The framework extension that is capable of applying transforms to bundle content. + */ +public class TransformerHook implements BundleFileWrapperFactoryHook, HookConfigurator, AdaptorHook { private TransformerList transformers; private TransformInstanceListData templates; private static BaseAdaptor ADAPTOR; - public BundleFile wrapBundleFile(BundleFile bundleFile, Object content, - BaseData data, boolean base) throws IOException { + public BundleFile wrapBundleFile(BundleFile bundleFile, Object content, BaseData data, boolean base) throws IOException { if (transformers == null || templates == null) return null; - return new TransformedBundleFile(transformers, templates, data, - bundleFile); + return new TransformedBundleFile(transformers, templates, data, bundleFile); } public void addHooks(HookRegistry hookRegistry) { @@ -49,6 +43,7 @@ public class TransformerHook implements BundleFileWrapperFactoryHook, } public void addProperties(Properties properties) { + // no properties to add } public FrameworkLog createFrameworkLog() { @@ -59,21 +54,19 @@ public class TransformerHook implements BundleFileWrapperFactoryHook, try { this.transformers = new TransformerList(context); } catch (InvalidSyntaxException e) { - throw new BundleException( - "Problem registering service tracker: transformers", e); + throw new BundleException("Problem registering service tracker: transformers", e); //$NON-NLS-1$ } try { this.templates = new TransformInstanceListData(context); } catch (InvalidSyntaxException e) { transformers.close(); transformers = null; - throw new BundleException( - "Problem registering service tracker: templates", e); + throw new BundleException("Problem registering service tracker: templates", e); //$NON-NLS-1$ } } - public void frameworkStop(BundleContext context) throws BundleException { + public void frameworkStop(BundleContext context) { transformers.close(); templates.close(); } @@ -83,17 +76,18 @@ public class TransformerHook implements BundleFileWrapperFactoryHook, } public void frameworkStopping(BundleContext context) { + //nothing to do here } public void handleRuntimeError(Throwable error) { + //no special handling by this framework extension } public void initialize(BaseAdaptor adaptor) { TransformerHook.ADAPTOR = adaptor; } - public URLConnection mapLocationToURLConnection(String location) - throws IOException { + public URLConnection mapLocationToURLConnection(String location) { return null; } @@ -107,9 +101,7 @@ public class TransformerHook implements BundleFileWrapperFactoryHook, t.printStackTrace(); return; } - FrameworkLogEntry entry = new FrameworkLogEntry( - FrameworkAdaptor.FRAMEWORK_SYMBOLICNAME, severity, 0, msg, 0, - t, null); + FrameworkLogEntry entry = new FrameworkLogEntry(FrameworkAdaptor.FRAMEWORK_SYMBOLICNAME, severity, 0, msg, 0, t, null); TransformerHook.ADAPTOR.getFrameworkLog().log(entry); } } diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformerList.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformerList.java index 515a5db1a..b90b4f050 100644 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/TransformerList.java +++ b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/internal/transforms/TransformerList.java @@ -9,27 +9,44 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.equinox.transforms; +package org.eclipse.equinox.internal.transforms; import java.util.ArrayList; - import org.eclipse.osgi.framework.log.FrameworkLogEntry; -import org.osgi.framework.BundleContext; -import org.osgi.framework.InvalidSyntaxException; -import org.osgi.framework.ServiceReference; +import org.osgi.framework.*; import org.osgi.util.tracker.ServiceTracker; +/** + * A dynamic list of transformers. + */ public class TransformerList extends ServiceTracker { + /** + * The stale state of this list. Set to true every time a new matching service instance is detected. + */ private volatile boolean stale = true; + + /** + * Local cache of transformers. + */ private StreamTransformer[] transformers; + /** + * Create a new instance of this list. + * @param context the context to track + * @throws InvalidSyntaxException thrown if there's an issue listening for changes to the given transformer type + */ public TransformerList(BundleContext context) throws InvalidSyntaxException { super(context, context.createFilter("(objectClass=" //$NON-NLS-1$ + Object.class.getName() + ')'), null); open(); } + /** + * Return the transformers being monitored by this list. + * If the list is stale it will first be rebuilt. + * @return the transformers. + */ public synchronized StreamTransformer[] getTransformers() { if (stale) { rebuildTransformerArray(); @@ -37,6 +54,9 @@ public class TransformerList extends ServiceTracker { return transformers; } + /** + * Consults the bundle context for services of the transformer type and builds the internal cache. + */ private void rebuildTransformerArray() { Object[] services = getServices(); stale = false; @@ -49,31 +69,22 @@ public class TransformerList extends ServiceTracker { if (object instanceof StreamTransformer) transformerList.add(object); else { - ProxyStreamTransformer transformer; try { transformer = new ProxyStreamTransformer(object); transformerList.add(transformer); } catch (SecurityException e) { - TransformerHook.log(FrameworkLogEntry.ERROR, - "Problem creating transformer", e); //$NON-NLS-1$ + TransformerHook.log(FrameworkLogEntry.ERROR, "Problem creating transformer", e); //$NON-NLS-1$ } catch (NoSuchMethodException e) { - TransformerHook.log(FrameworkLogEntry.ERROR, - "Problem creating transformer", e); //$NON-NLS-1$ + TransformerHook.log(FrameworkLogEntry.ERROR, "Problem creating transformer", e); //$NON-NLS-1$ } } } - this.transformers = (StreamTransformer[]) transformerList - .toArray(new StreamTransformer[transformerList.size()]); + this.transformers = (StreamTransformer[]) transformerList.toArray(new StreamTransformer[transformerList.size()]); } } - /* - * (non-Javadoc) - * - * @see org.osgi.util.tracker.ServiceTracker#addingService(org.osgi.framework.ServiceReference) - */ public Object addingService(ServiceReference reference) { try { return super.addingService(reference); @@ -82,23 +93,11 @@ public class TransformerList extends ServiceTracker { } } - /* - * (non-Javadoc) - * - * @see org.osgi.util.tracker.ServiceTracker#modifiedService(org.osgi.framework.ServiceReference, - * java.lang.Object) - */ public void modifiedService(ServiceReference reference, Object service) { super.modifiedService(reference, service); stale = true; } - /* - * (non-Javadoc) - * - * @see org.osgi.util.tracker.ServiceTracker#removedService(org.osgi.framework.ServiceReference, - * java.lang.Object) - */ public void removedService(ServiceReference reference, Object service) { super.removedService(reference, service); stale = true; diff --git a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/StreamTransformer.java b/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/StreamTransformer.java deleted file mode 100644 index f1e7f8f95..000000000 --- a/bundles/org.eclipse.equinox.transforms.hook/src/org/eclipse/equinox/transforms/StreamTransformer.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.equinox.transforms; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; - -public abstract class StreamTransformer { - public abstract InputStream getInputStream(InputStream inputStream, - URL transformerUrl) throws IOException; -} |