Home » Castor-1.3-src » org.exolab.castor » util » [javadoc | source]

    1   /**
    2    * Redistribution and use of this software and associated documentation
    3    * ("Software"), with or without modification, are permitted provided
    4    * that the following conditions are met:
    5    *
    6    * 1. Redistributions of source code must retain copyright
    7    *    statements and notices.  Redistributions must also contain a
    8    *    copy of this document.
    9    *
   10    * 2. Redistributions in binary form must reproduce the
   11    *    above copyright notice, this list of conditions and the
   12    *    following disclaimer in the documentation and/or other
   13    *    materials provided with the distribution.
   14    *
   15    * 3. The name "Exolab" must not be used to endorse or promote
   16    *    products derived from this Software without prior written
   17    *    permission of Intalio, Inc.  For written permission,
   18    *    please contact info@exolab.org.
   19    *
   20    * 4. Products derived from this Software may not be called "Exolab"
   21    *    nor may "Exolab" appear in their names without prior written
   22    *    permission of Intalio, Inc. Exolab is a registered
   23    *    trademark of Intalio, Inc.
   24    *
   25    * 5. Due credit should be given to the Exolab Project
   26    *    (http://www.exolab.org/).
   27    *
   28    * THIS SOFTWARE IS PROVIDED BY INTALIO, INC. AND CONTRIBUTORS
   29    * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
   30    * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   31    * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
   32    * INTALIO, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   33    * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   34    * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   35    * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   36    * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   37    * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   38    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   39    * OF THE POSSIBILITY OF SUCH DAMAGE.
   40    *
   41    * Copyright 2003 (C) Intalio, Inc. All Rights Reserved.
   42    *
   43    * $Id: ObjectFactory.java 5951 2006-05-30 22:18:48Z bsnyder $
   44    *
   45    * Date         Author          Changes
   46    * 04/21/2003   Keith Visco     Created
   47    */
   48    
   49   package org.exolab.castor.util;
   50   
   51   
   52   /** 
   53    * A simple interface for creating class instances
   54    * 
   55    * @author <a href="mailto:kvisco@intalio.com">Keith Visco</a>
   56    * @version $Revision: 5951 $ $Date: 2003-04-23 00:36:31 -0600 (Wed, 23 Apr 2003) $
   57    */
   58   public interface ObjectFactory {
   59       
   60       /**
   61        * Creates a default instance of the given class.
   62        *
   63        * @param type the Class to create an instance of
   64        * @return the new instance of the given class
   65        */
   66       public Object createInstance(Class type)
   67           throws IllegalAccessException, InstantiationException;
   68       
   69       /**
   70        * Creates a default instance of the given class.
   71        *
   72        * @param type the Class to create an instance of
   73        * @param args the array of arguments to pass to the Class constructor
   74        * @return the new instance of the given class
   75        */
   76       public Object createInstance(Class type, Object[] args)
   77           throws IllegalAccessException, InstantiationException;
   78       
   79       /**
   80        * Creates a default instance of the given class.
   81        *
   82        * @param type the Class to create an instance of
   83        * @param argTypes the Class types for each argument, used
   84        * to find the correct constructor
   85        * @param args the array of arguments to pass to the Class constructor
   86        * @return the new instance of the given class
   87        */
   88       public Object createInstance(Class type, Class[] argTypes, Object[] args)
   89           throws IllegalAccessException, InstantiationException;
   90       
   91   } //-- ObjectFactory

Home » Castor-1.3-src » org.exolab.castor » util » [javadoc | source]