Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 73272 invoked from network); 3 Dec 2004 00:33:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 3 Dec 2004 00:33:19 -0000 Received: (qmail 3872 invoked by uid 500); 3 Dec 2004 00:32:49 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 3786 invoked by uid 500); 3 Dec 2004 00:32:49 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 3735 invoked by uid 99); 3 Dec 2004 00:32:48 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from postfix4-1.free.fr (HELO postfix4-1.free.fr) (213.228.0.62) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 02 Dec 2004 16:32:47 -0800 Received: from [82.229.148.13] (diderot-19-82-229-148-13.fbx.proxad.net [82.229.148.13]) by postfix4-1.free.fr (Postfix) with ESMTP id D18A518005C for ; Fri, 3 Dec 2004 01:32:43 +0100 (CET) Message-ID: <41AFB42A.9050105@lfjr.net> Date: Fri, 03 Dec 2004 01:32:42 +0100 From: Emmanuel Bourg User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: fr, en-us, en MIME-Version: 1.0 To: Jakarta Commons Developers List Subject: Re: [collections] InvokerClosure References: In-Reply-To: Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms000405080704080701070400" X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N --------------ms000405080704080701070400 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Eric Pugh wrote: > Things like this are cool.. But.. within the context of java, they just > seem more difficult to read.. Requiring the user to know what an > InvokerClosure is and does. It's neat.. I just haven't seen the use case > that requires it... Well the code is still readable imho, it reads almost naturally "for all elements in the collection invoke the clearProperty method". I personnally like the "do the same thing in one line" aspect, but I admit the syntax is surprising, that's what makes it cool I guess ;) An alternative for reducing the code is the new foreach syntax, for this specific example it's certainly more readable than a closure : for (Configuration config : configList) { config.clearProperty(); } That makes me think, couldn't we use the Java 1.5 syntax while producing Java 1.3 compatible byte code ? Emmanuel Bourg --------------ms000405080704080701070400 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 IFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJj WiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenpruf ZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIB ADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlUGVyc29u YWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMT EVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD6gsuzA2jZqxnD3+v rL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZGwDFGguCdJ4lUJRi x9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC3CEZNd4ksdMdRv9d X2VPMYIDOzCCAzcCAQEwaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1 bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElz c3VpbmcgQ0ECAwt8LDAJBgUrDgMCGgUAoIIBpzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB MBwGCSqGSIb3DQEJBTEPFw0wNDEyMDMwMDMyNDJaMCMGCSqGSIb3DQEJBDEWBBSpfQkbxBG9 m5D3ObLxhkZiErrm7TBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMC AgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDB4BgkrBgEEAYI3 EAQxazBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5 KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQID C3wsMHoGCyqGSIb3DQEJEAILMWugaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECAwt8LDANBgkqhkiG9w0BAQEFAASCAQBl6jUsklQQMEnUyBIZRHy4 TSI6XW8Twpr1Orz/ZJtJGzGDv1/RtUVHEi30Y+87V0poGvgfEaaMIseo+ovm/YQ4/cXJ6NAr 8c05qZZC2bdjTcRM21vemam/9i2g493iA2z2tVgzA1r0JYdxd0nzELc9sunUvcurWLRNZD88 DwXJUSxK5DHUOMjIvDXX0JcTOMhTGPdKPjusDdQBqALvXmbpkZkC9ZdrsQxoVuRT5r2nLDzq +WQ1cshZYKe2qVgWjFQRLLQJ3F/FnYYPdehZ8dLrId5jITXh2cruG/bIBoLZr7e90dyvdRsl BaLk8R8W2nq1z7a6xdldmy9UoU/4Qpo3AAAAAAAA --------------ms000405080704080701070400--