Return-Path: X-Original-To: apmail-commons-dev-archive@www.apache.org Delivered-To: apmail-commons-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0621EBCD8 for ; Sat, 21 Jan 2012 02:00:30 +0000 (UTC) Received: (qmail 76674 invoked by uid 500); 21 Jan 2012 02:00:28 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 76579 invoked by uid 500); 21 Jan 2012 02:00:27 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 76571 invoked by uid 99); 21 Jan 2012 02:00:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 21 Jan 2012 02:00:27 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.131] (HELO eos.apache.org) (140.211.11.131) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 21 Jan 2012 02:00:17 +0000 Received: from eos.apache.org (localhost [127.0.0.1]) by eos.apache.org (Postfix) with ESMTP id E801740D for ; Sat, 21 Jan 2012 01:59:56 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Apache Wiki To: Apache Wiki Date: Sat, 21 Jan 2012 01:59:56 -0000 Message-ID: <20120121015956.58983.58095@eos.apache.org> Subject: =?utf-8?q?=5BCommons_Wiki=5D_Update_of_=22Sanity_Check_of_APIs=2C_etc=2E?= =?utf-8?q?=22_by_MattBenson?= Auto-Submitted: auto-generated X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Commons Wiki" for c= hange notification. The "Sanity Check of APIs, etc." page has been changed by MattBenson: http://wiki.apache.org/commons/Sanity%20Check%20of%20APIs%2C%20etc. New page: Address open questions: * there are several marker interfaces, but maybe some annotations would ma= ke more sense? * couldn't Function, UnaryFunction and BinaryFunction be unified with a si= ngle interface using a vararg parameter? * EachElement should be able to work on any Iterable. Also I'm not sure to= understand why its constructor is public. * Shouldn't Generator implement Iterable? * why are equals, hashCode and toString defined in the Functor interface? * why Predicate isn't an extension of Function ? * why Procedure isn't an extension of Function ? * Why are constants available through both a static field AND a static met= hod? For example Identity.INSTANCE and Identify.instance(), or Constant.TRU= E and Constant.truePredicate() ? * The Javadoc for Limit states "A predicate that returns true the first n = times it is invoked.", but what happens after? Is it the opposite of Offset? * Why aren't Limit and Offset serializable like the other classes in the c= ore package? * Limit and Offset could probably use an AtomicInteger instead of a synchr= onized block * the site has no example easily accessible, the reader is invited to brow= se the JUnit tests. That's not really user friendly. * I see IllegalArgumentExceptions thrown for null values, shouldn't this b= e changed to throw NullPointerExceptions ? * @inheritDoc tags should be removed if no additional description is provi= ded in the subclasses. This tag is only useful for extending the descriptio= n from the method of the super class. * what's the point of having equals(T) methods in addition to equals(Objec= t) ? It clutters the API. * CollectionTransformer has a todo stating : "TODO revisit this class..." * There are several untested classes in the composite package * Most of the equals/hashcode methods are not tested --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org For additional commands, e-mail: dev-help@commons.apache.org