mcconnell    2002/07/12 10:11:04

  Modified:    assembly/src/java/org/apache/excalibur/meta/info Type.java
               assembly/src/java/org/apache/excalibur/meta/info/builder
                        XMLTypeCreator.java
               assembly/src/java/org/apache/excalibur/meta/info/doc-files
                        Type.gif
  Log:
  javadoc updates
  
  Revision  Changes    Path
  1.3       +88 -9     
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/meta/info/Type.java
  
  Index: Type.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/meta/info/Type.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Type.java 7 Jul 2002 04:28:31 -0000       1.2
  +++ Type.java 12 Jul 2002 17:11:04 -0000      1.3
  @@ -7,6 +7,14 @@
    */
   package org.apache.excalibur.meta.info;
   
  +import java.io.Serializable;
  +import org.apache.excalibur.meta.info.ComponentDescriptor;
  +import org.apache.excalibur.meta.info.ContextDescriptor;
  +import org.apache.excalibur.meta.info.DependencyDescriptor;
  +import org.apache.excalibur.meta.info.LoggerDescriptor;
  +import org.apache.excalibur.meta.info.ServiceDescriptor;
  +import org.apache.excalibur.meta.info.ServiceDesignator;
  +
   /**
    * This class contains the meta information about a particular
    * component type. It describes;
  @@ -24,22 +32,69 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephen McConnell</a>
    * @version $Revision$ $Date$
    */
  -public interface Type
  +public class Type implements Serializable
   {
  +    private final ComponentDescriptor m_descriptor;
  +    private final ContextDescriptor m_context;
  +    private final ServiceDescriptor[] m_services;
  +    private final DependencyDescriptor[] m_dependencies;
  +    private final LoggerDescriptor[] m_loggers;
  +
  +    /**
  +     * Basic constructor that takes as parameters all parts.
  +     */
  +    public Type( final ComponentDescriptor descriptor,
  +                          final LoggerDescriptor[] loggers,
  +                          final ContextDescriptor context,
  +                          final ServiceDescriptor[] services,
  +                          final DependencyDescriptor[] dependencies )
  +    {
  +        if( null == descriptor )
  +        {
  +            throw new NullPointerException( "descriptor" );
  +        }
  +        if( null == loggers )
  +        {
  +            throw new NullPointerException( "loggers" );
  +        }
  +        if( null == context )
  +        {
  +            throw new NullPointerException( "context" );
  +        }
  +        if( null == services )
  +        {
  +            throw new NullPointerException( "services" );
  +        }
  +        if( null == dependencies )
  +        {
  +            throw new NullPointerException( "dependencies" );
  +        }
  +        m_descriptor = descriptor;
  +        m_loggers = loggers;
  +        m_context = context;
  +        m_services = services;
  +        m_dependencies = dependencies;
  +    }
   
       /**
        * Return the Component descriptor.
        *
        * @return the Component descriptor.
        */
  -    public ComponentDescriptor getInfo();
  +    public ComponentDescriptor getInfo()
  +    {
  +        return m_descriptor;
  +    }
   
       /**
        * Return the set of Logger that this Component will use.
        *
        * @return the set of Logger that this Component will use.
        */
  -    public LoggerDescriptor[] getLoggers();
  +    public LoggerDescriptor[] getLoggers()
  +    {
  +        return m_loggers;
  +    }
   
       /**
        * Return the ContextDescriptor for Component, may be null.
  @@ -47,21 +102,30 @@
        *
        * @return the ContextDescriptor for Component, may be null.
        */
  -    public ContextDescriptor getContextDescriptor();
  +    public ContextDescriptor getContextDescriptor()
  +    {
  +        return m_context;
  +    }
   
       /**
        * Return the set of Services that this Component is capable of providing.
        *
        * @return the set of Services that this Component is capable of providing.
        */
  -    public ServiceDescriptor[] getServices();
  +    public ServiceDescriptor[] getServices()
  +    {
  +        return m_services;
  +    }
   
       /**
        * Return the set of Dependencies that this Component requires to operate.
        *
        * @return the set of Dependencies that this Component requires to operate.
        */
  -    public DependencyDescriptor[] getDependencies();
  +    public DependencyDescriptor[] getDependencies()
  +    {
  +        return m_dependencies;
  +    }
   
       /**
        * Retrieve a dependency with a particular role.
  @@ -69,6 +133,21 @@
        * @param role the role
        * @return the dependency or null if it does not exist
        */
  -    public DependencyDescriptor getDependency( final String role );
  -
  +    public DependencyDescriptor getDependency( final String role )
  +    {
  +        for( int i = 0; i < m_dependencies.length; i++ )
  +        {
  +            if( m_dependencies[ i ].getRole().equals( role ) )
  +            {
  +                return m_dependencies[ i ];
  +            }
  +        }
  +
  +        return null;
  +    }
  +
  +    public String toString()
  +    {
  +        return "Type name: " + getInfo().getName() + " key: " + 
getInfo().getImplementationKey();
  +    }
   }
  
  
  
  1.2       +2 -3      
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/meta/info/builder/XMLTypeCreator.java
  
  Index: XMLTypeCreator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/meta/info/builder/XMLTypeCreator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XMLTypeCreator.java       12 Jul 2002 15:11:58 -0000      1.1
  +++ XMLTypeCreator.java       12 Jul 2002 17:11:04 -0000      1.2
  @@ -19,7 +19,6 @@
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.excalibur.meta.info.ComponentDescriptor;
   import org.apache.excalibur.meta.info.Type;
  -import org.apache.excalibur.meta.info.DefaultType;
   import org.apache.excalibur.meta.info.ContextDescriptor;
   import org.apache.excalibur.meta.info.DependencyDescriptor;
   import org.apache.excalibur.meta.info.EntryDescriptor;
  @@ -128,7 +127,7 @@
               getLogger().debug( message );
           }
   
  -        return new DefaultType( descriptor, loggers, context, services, 
dependencies );
  +        return new Type( descriptor, loggers, context, services, dependencies );
       }
   
       /**
  
  
  
  1.5       +47 -37    
jakarta-avalon-excalibur/assembly/src/java/org/apache/excalibur/meta/info/doc-files/Type.gif
  
        <<Binary file>>
  
  

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

Reply via email to