<?xml version="1.0"?>
<component id="configfactory" parent="classicassembler">
    <super id="openejb">OpenEJB</super>
    <super id="assembler">Assembler</super>
    <super id="classicassembler">Classic</super>
    <super id="configfactory">Config</super>
    <image src="images/figure-openejb.gif"/>
    <name>Configuration Factory</name>
    <alternate-name>Config Factory</alternate-name>
    <alternate-name>InfoObject Factory</alternate-name>
    <definition>
        Creates an instance of the OpenEjbConfiguration class that
        contains all the data and configuration information the 
        Classic assembler needs to construct the container system.
        The object structure in the OpenEjbConfiguration class is
        refered to as the InfoObjects.  The Configuration Factory
        can construct, retreive, or populate the InfoObjects from
        any data source it chooses or by any means it chooses.
    </definition>
    <responsibility>Creates an instance of the OpenEjbConfiguration</responsibility>    
    <responsibility>
       The data in the InfoObjects must be validated
       and accurately represent the system, services, 
       jars, and beans to be constructed
    </responsibility>    
    <related-class>org.openejb.alt.assembler.classic.OpenEjbConfigurationFactory</related-class>
    <related-class>org.openejb.alt.assembler.classic.OpenEjbConfiguration</related-class>

    <implementation id="xmlconfig">OpenEJB XML Configuration Factory</implementation>
    <implementation id="novaconfig">Nova Configuration Factory</implementation>
</component>

