donaldp 02/05/18 02:03:49
Modified: src/java/org/apache/avalon/phoenix/components/application
BlockEntry.java
Log:
Dont force entry to return a Block for proxy via the interface. However
silently behind the scenes it proxies using Block interface (but does not
require implementaitons to use interface). This will remain around while
ComponentManager is supported in Phoenix.
Revision Changes Path
1.11 +11 -4
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/BlockEntry.java
Index: BlockEntry.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/application/BlockEntry.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- BlockEntry.java 15 May 2002 08:46:47 -0000 1.10
+++ BlockEntry.java 18 May 2002 09:03:49 -0000 1.11
@@ -7,7 +7,6 @@
*/
package org.apache.avalon.phoenix.components.application;
-import org.apache.avalon.phoenix.Block;
import org.apache.avalon.phoenix.components.lifecycle.ComponentEntry;
import org.apache.avalon.phoenix.metadata.BlockMetaData;
import org.apache.avalon.phoenix.metainfo.BlockInfo;
@@ -48,11 +47,11 @@
super.setObject( object );
}
- public synchronized Block getProxy()
+ public synchronized Object getProxy()
{
if( null != m_invocationHandler )
{
- return (Block)m_invocationHandler.getProxy();
+ return m_invocationHandler.getProxy();
}
else
{
@@ -86,7 +85,15 @@
}
}
- classes[ services.length ] = Block.class;
+ //Note that the proxy is still built using the
+ //Block interface so that ComponentManaers can
+ //still be used to provide blocks with services.
+ //Block extends Component and thus the proxy
+ //extends Component. The magic is that the Block
+ //interface has no methods and thus will never cause
+ //any issues for Proxy class.
+ classes[ services.length ] =
+ org.apache.avalon.phoenix.Block.class;
return classes;
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>