You are viewing a plain text version of this content. The canonical link for it is here.
Posted to phoenix-dev@avalon.apache.org by bu...@apache.org on 2002/09/09 08:26:25 UTC
DO NOT REPLY [Bug 12423] New: -
BlockFactory
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12423>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12423
BlockFactory
Summary: BlockFactory
Product: Avalon
Version: unspecified
Platform: Other
OS/Version: Other
Status: NEW
Severity: Enhancement
Priority: Other
Component: Phoenix
AssignedTo: avalon-phoenix-dev@jakarta.apache.org
ReportedBy: donaldp@apache.org
Start Facilitating creation of Blocks through a Factory. Each component can
optionally define a factory through which it is loaded. This will allow
components to be created from arbitary locations.
For example, it would be valid for the component to be specified using a rmi,
corba, soap or other url. ie Something like
rmi://localhost/MyRemoteComponent
The factory would take this implementationKey and construct a component that
obeys the avalon lifecycle contract and for all intents and purposes can be
treated like a normal Avalon component.
These Factorys must be able to create the blocks themselves and the
BlockBundle. The BlockBundle includes the BlockInfo object aswell as any
associated descriptors (MXInfo files, schemas etc).
The factory will look something like
interface BlockFactory
{
Object createBlock( String implementationKey ) throws Exception;
BlockBundle createBlockBundle( String implementationKey ) throws Exception;
}
interface BlockBundle
{
BlockInfo getBlockInfo();
InputStream getResourceAsStream(String);
}
The BlockFactory will pass through all Avalon lifecycle stages *except*
Composable/Serviceable.
The initial implementions will allow at least RMI, AltRMI and Soap (via glue or
axis?) objects to be dynamically assembled.
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>