[
https://issues.apache.org/jira/browse/COCOON3-14?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12666957#action_12666957
]
Steven Dolg commented on COCOON3-14:
------------------------------------
> This gives me following output:
> class test.TestCompoent is PipelineComponent<class java.lang.String,
> java.util.List<java.lang.String>>
Of course you can do this and use the generic parameters to check for
compatibility.
But I don't see how this is any difference than the instanceof check, we have
now.
IMO an "component instanceof StAXConsumer" is just as good as an
"firstComponent.getOutputType() == lastComponent.getInputType()".
Of course the latter one looks much more sophisticated but basically you're
just checking for some specific class.
And I also don't see what's the advantage in having one class performing the
compatibility check (and supporting all the little exceptions from the common
case which might be necessary over time) instead of letting the components do
it themselves.
I'm still wondering what the input and output type of the SAX components would
be and how the callbacks should be integrated/defined in the PipelineComponent
interface.
Maybe we can have an example, so that this can become less speculative.
> Use generics for pipeline assembly
> ----------------------------------
>
> Key: COCOON3-14
> URL: https://issues.apache.org/jira/browse/COCOON3-14
> Project: Cocoon 3
> Issue Type: Improvement
> Components: cocoon-pipeline
> Reporter: Carsten Ziegeler
> Assignee: Cocoon Developers Team
> Attachments: generics.patch
>
>
> This is a simple patch to add generics to the pipeline interface and impl.
> With additionally introducing marker interfaces for the component types (SAX,
> Stax, dom)
> this would allow compile time checks if all components have the correct type
> when assembling the pipeline.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.