Return-Path: Delivered-To: apmail-commons-issues-archive@locus.apache.org Received: (qmail 7781 invoked from network); 5 Nov 2008 10:58:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Nov 2008 10:58:06 -0000 Received: (qmail 89388 invoked by uid 500); 5 Nov 2008 10:58:11 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 89316 invoked by uid 500); 5 Nov 2008 10:58:11 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 89305 invoked by uid 99); 5 Nov 2008 10:58:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 02:58:11 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 10:57:02 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 2BF6D234C278 for ; Wed, 5 Nov 2008 02:57:44 -0800 (PST) Message-ID: <414632902.1225882664168.JavaMail.jira@brutus> Date: Wed, 5 Nov 2008 02:57:44 -0800 (PST) From: "James Carman (JIRA)" To: issues@commons.apache.org Subject: [jira] Created: (PROXY-14) Strategy-Based ObjectProvider MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Strategy-Based ObjectProvider ----------------------------- Key: PROXY-14 URL: https://issues.apache.org/jira/browse/PROXY-14 Project: Commons Proxy Issue Type: New Feature Affects Versions: 1.0 Reporter: James Carman Assignee: James Carman Implement a strategy-based ObjectProvider. Basically, the provider would choose different strategy objects (that implement the service interface) based on information obtained at runtime during the method invocation. One example would be a strategy-based provider which chose its strategy object based on the type of object passed in as one of the method parameters (similar to HiveMind's strategy support). For example, suppose I have a service interface like: {code} public interface Renderer { public void render(Shape shape); } {code} and I want to provide different implementations for Circle, Rectangle, Triangle, etc., then I would provide a mapping from those types to implementation objects that also implement Renderer. Proxy would create a dynamic proxy that would choose which implementation object to use at runtime based on the type of shape passed in to the render method. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.