[ https://issues.apache.org/jira/browse/PIG-2724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286220#comment-13286220 ]
Julien Le Dem commented on PIG-2724: ------------------------------------ * np * You are correct but your argument for hashCode() also applies to equals(). The contract is that o1.equals(o2) => o1.hashCode() == o2.hashCode() (not the other way around). compareTo() is separate but of course o1.compareTo(o2) == 0 <=> o1.equals(o2) Usually hashCode and equals are implemented together If the individual objects are not comparable it is hard to provide a default compareTo() implementation. Factor out what makes sense to you. Some warning about that in the javadoc? * Sounds good * I don't think factoring the implements statement is worth the extra AbstractTypeAwareTuple class. It doesn't really improve readability. > Make Tuple Iterable > ------------------- > > Key: PIG-2724 > URL: https://issues.apache.org/jira/browse/PIG-2724 > Project: Pig > Issue Type: Improvement > Reporter: Jonathan Coveney > Assignee: Jonathan Coveney > Fix For: 0.11 > > Attachments: PIG-2724-0.patch, PIG-2724-1.patch, PIG-2724-1.patch, > PIG-2724-2.patch > > > Seriously, is there a more annoying pattern than the following? > {code} > for (int i = 0; i < t.size(); i++) { > try { > doStuff(t.get(i)); > } catch (ExecException e) { > throw new RuntimeException("BUT I THOUGHT PIG WAS SINGLETHREADED", e); > } > } > {code} > I mean yeah, you can do the following: > {code} > for (Object o : t.getAll()) { > doStuff(o); > } > {code} > But I don't even think that should be necessary. I think the following should > work: > {code} > for (Object o : t) { > doStuff(o); > } > {code} > It's a shame we can't give a default implementation (I either shake my fist > that this won't be possible until Java 8 OR that Tuple is an interface and > not an abstract class). Either way, I even added test! WOAH. > Thoughts? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira