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 157C6629C for ; Sat, 2 Jul 2011 19:18:42 +0000 (UTC) Received: (qmail 36910 invoked by uid 500); 2 Jul 2011 19:18:41 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 36637 invoked by uid 500); 2 Jul 2011 19:18:40 -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 36617 invoked by uid 99); 2 Jul 2011 19:18:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Jul 2011 19:18:40 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gsterijevski@gmail.com designates 209.85.212.43 as permitted sender) Received: from [209.85.212.43] (HELO mail-vw0-f43.google.com) (209.85.212.43) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Jul 2011 19:18:34 +0000 Received: by vws10 with SMTP id 10so3580161vws.30 for ; Sat, 02 Jul 2011 12:18:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=hyFLWrHR5CH0sf6B77gOWlu+qzBI78pSQFk73SkbUMg=; b=i7bPLMNaawSwEaHfoT2rBegVavswKLAbT9xVEzWbfWNkj0eUJYAHtDflTSTm593R9o nSF2V9IkbWjDrmXxfNnKOaCYO8Y6tp5RFMsnbpTKdY1Idhw90hiYJ9qwQuFjA9qA3YOp yT8WWSy8l2eundG8nfqHMEYWpTZbeLaokZaBs= MIME-Version: 1.0 Received: by 10.220.111.84 with SMTP id r20mr1624646vcp.260.1309634293069; Sat, 02 Jul 2011 12:18:13 -0700 (PDT) Received: by 10.220.72.201 with HTTP; Sat, 2 Jul 2011 12:18:12 -0700 (PDT) In-Reply-To: <4E0F6818.4010203@m4x.org> References: <4E0F6818.4010203@m4x.org> Date: Sat, 2 Jul 2011 14:18:12 -0500 Message-ID: Subject: Re: (MATH-608) Remove methods from RealMatrix Interface From: Greg Sterijevski To: Commons Developers List Content-Type: multipart/alternative; boundary=0016e64ec278d2f7a504a71afe2d X-Virus-Checked: Checked by ClamAV on apache.org --0016e64ec278d2f7a504a71afe2d Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Not a stupid concern in my book. However there is a synchronization mechanism in place. We are taking part in it right now. Whether the new matrix implements both SymmetricMatrix and BandedMatrix or is a new tagging interface (SymmetricBanded) would determined in the list, after a bit of back and forth. 2011/7/2 S=E9bastien Brisard > Marker interface seems to be a very elegant solution. I am just wondering > about a potential issue. Let us assume we defined two interfaces, say > SymmetricMatrix, and BandedMatrix. User A writes a matrix class which > implements both interfaces. Meanwhile, user B implements an algorithm whi= ch > requires a symmetric, banded matrix. Presummably, user B will define a ne= w > marker interface, which extends both SymmetricMatrix and BandedMatrix. So= we > have on the one hand > > class UserAMatrix implements SymmetricMatrix, BandedMatrix; > > and > > UserBAlgorithm.operate(**BandedSymmetricMatrix). > > One day, user A hears of the work of user B. The matrix he has implemente= d > has just the required features (symmetric *and* banded). But it does not > implement BandedSymmetricMatrix, so he cannot apply UserBAlgorithm.operat= e > to an instance of UserAMatrix. There is always the possibility of creatin= g a > new class which extends UserAMatrix and implements BandedSymmetricMatrix, > but that would obfuscate the hierarchy tree. Is this a problem? Is that a > stupid remark? > > Sebastien > > > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: dev-unsubscribe@commons.**apache.org > For additional commands, e-mail: dev-help@commons.apache.org > > --0016e64ec278d2f7a504a71afe2d--