Dan Smith created GEODE-1577:
--------------------------------

             Summary: 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


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)

Reply via email to