[
https://issues.apache.org/jira/browse/GEODE-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15773558#comment-15773558
]
ASF GitHub Bot commented on GEODE-1577:
---------------------------------------
Github user kirklund commented on the issue:
https://github.com/apache/geode/pull/321
@dalyssakim @metatype @upthewaterspout GEODE-1577 is interesting because
Dan labelled it "starter" which would imply that a new contributor should be
able to pick it up and run with it without having a dev-list discussion about
public API changes. I'm curious what Dan's expectation was in comparison to
Anthony's feedback -- it looks like Alyssa's changes are exactly what Dan had
in mind. Let's see what Dan's feedback is (he may be on holiday leave right
now).
> Unhelpful generic types on Execution.execute
> --------------------------------------------
>
> Key: GEODE-1577
> URL: https://issues.apache.org/jira/browse/GEODE-1577
> Project: Geode
> Issue Type: Bug
> Components: functions
> Reporter: Dan Smith
> Assignee: Alyssa Kim
> Labels: starter
>
> The execute methods of the function service Execution class returns a
> ResultCollector with wildcards for the type.
> {code}
> public ResultCollector<?, ?> execute(
> Function function) throws FunctionException;
> {code}
> Wildcards are supposed to be used in APIs where the type doesn't matter, for
> example counting the elements in a list. By returning a ResultCollector with
> wildcards, we're essentially forcing the user to cast the result collector.
> At a minimum they should be able to pick the type of result collector
> {code}
> public <T,S> ResultCollector<T, S> execute(
> Function function) throws FunctionException;
> {code}
> But maybe it would make more sense to parameterize Execution itself. Then the
> compiler could ensure that the types used by withCollector and the types used
> by execute match.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)