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>