The following comment has been added to this issue:

     Author: James Carman
    Created: Thu, 5 Aug 2004 8:45 AM
       Body:
Allowing the proxy to implement all interfaces of the implementing class is not 
a good idea.  You should code to the service interface.  What you can do in 
this situation is this...

public interface ILifecycle
{
  public void start();
  public void stop();
}

public interface IBusiness
{
  public void doSomething();
  public void doSomethingElese();
}

public interface IService extends IBusiness, ILifecycle
{
  // Add some methods here if you wish.
}

So, in your application you could use the service interface everywhere you 
needed to use both your business interface AND your lifecycle interface.  Your 
business logic need only know about your business interface.  This is what I do 
using EJBs so that I keep my remote interface in sync with my impl class 
without making my impl class implement the remote interface.  I introduce a 
superinterface that contains the business methods and have my impl class 
implement that and have the remote interface extend it.  
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/HIVEMIND-39?page=comments#action_37058

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/HIVEMIND-39

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: HIVEMIND-39
    Summary: The ability to specify multiple interfaces of a service
       Type: Wish

     Status: Open
   Priority: Minor

    Project: HiveMind
 Components: 
             framework
   Versions:
             1.0

   Assignee: Howard M. Lewis Ship
   Reporter: Zhengmao Hu

    Created: Thu, 5 Aug 2004 7:24 AM
    Updated: Thu, 5 Aug 2004 8:45 AM

Description:
(Sorry, because sending email to [EMAIL PROTECTED] can not make me subscribe, 
so i post it here)

Currently, one service can only have one interface specifiled.

Inside ProxyBuilder.java, the proxy class built only implements this "major" 
interface. This behavior is coded as such:
    
public ProxyBuilder(String type, ServicePoint point)
{
   ...
   _classFab.addInterface(_serviceInterface);
   ...
}

public void addServiceMethods(String indirection)
{
   ...
   Method[] methods = _serviceInterface.getMethods();
   for (int i = 0; i < methods.length; i++) ...
   ...
}


Because of this behavior, if there is a class:

class ServiceABImpl implements ServiceA, ServiceB

This class will be wrapped inside a proxy class, but the proxy class can only 
implement one interface, that makes the usage of this class/service 
inconvienent.

So, there is a wish, wish that more than one interfaces can be specified to one 
service.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to