bloritsch 2003/02/03 12:08:45 Modified: src/java/org/apache/avalon/framework/component Component.java ComponentException.java ComponentManager.java ComponentSelector.java Composable.java DefaultComponentManager.java DefaultComponentSelector.java Recomposable.java WrapperComponentManager.java Log: use "soft" deprecation for framework.* Revision Changes Path 1.11 +18 -6 jakarta-avalon/src/java/org/apache/avalon/framework/component/Component.java Index: Component.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/Component.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Component.java 23 Nov 2002 08:58:58 -0000 1.10 +++ Component.java 3 Feb 2003 20:08:43 -0000 1.11 @@ -57,31 +57,35 @@ /** * This interface identifies classes that can be used as <code>Components</code> * by a <code>Composable</code>. - * <br /> * + * <p> * The contract surrounding the <code>Component</code> is that it is * used, but not a user. When a class implements this interface, it * is stating that other entities may use that class. - * <br /> + * </p> * + * <p> * A <code>Component</code> is the basic building block of the Avalon Framework. * When a class implements this interface, it allows itself to be * managed by a <code>ComponentManager</code> and used by an outside * element called a <code>Composable</code>. The <code>Composable</code> * must know what type of <code>Component</code> it is accessing, so * it will re-cast the <code>Component</code> into the type it needs. - * <br /> + * </p> * + * <p> * In order for a <code>Component</code> to be useful you must either * extend this interface, or implement this interface in conjunction * with one that actually has methods. The new interface is the contract * with the <code>Composable</code> that this is a particular type of * component, and as such it can perform those functions on that type * of component. - * <br /> + * </p> * + * <p> * For example, we want a component that performs a logging function * so we extend the <code>Component</code> to be a <code>LoggingComponent</code>. + * </p> * * <pre> * interface LoggingComponent @@ -91,14 +95,22 @@ * } * </pre> * + * <p> * Now all <code>Composable</code>s that want to use this type of component, * will re-cast the <code>Component</code> into a <code>LoggingComponent</code> * and the <code>Composable</code> will be able to use the <code>log</code> * method. + * </p> + * + * <p> + * <span style="color: red">Deprecated: </span><i> + * Deprecated without replacement. Should only be used while migrating away + * from a system based on Composable/ComponentManager. A generic <code>java.lang.Object</code> + * can be used as a replacement. + * </i> + * </p> * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> - * @deprecated Deprecated without replacement. Should only be used while migrating away - * from a system based on Composable/ComponentManager */ public interface Component { 1.16 +6 -1 jakarta-avalon/src/java/org/apache/avalon/framework/component/ComponentException.java Index: ComponentException.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/ComponentException.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ComponentException.java 23 Nov 2002 08:58:58 -0000 1.15 +++ ComponentException.java 3 Feb 2003 20:08:44 -0000 1.16 @@ -60,8 +60,13 @@ * The exception thrown to indicate a problem with Components. * It is usually thrown by ComponentManager or ComponentSelector. * + * <p> + * <span style="color: red">Deprecated: </span><i> + * Use {@link org.apache.avalon.framework.service.ServiceException} instead. + * </i> + * </p> + * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> - * @deprecated Use {@link org.apache.avalon.framework.service.ServiceException} instead. */ public class ComponentException extends CascadingException 1.16 +12 -1 jakarta-avalon/src/java/org/apache/avalon/framework/component/ComponentManager.java Index: ComponentManager.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/ComponentManager.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ComponentManager.java 23 Nov 2002 08:58:58 -0000 1.15 +++ ComponentManager.java 3 Feb 2003 20:08:44 -0000 1.16 @@ -62,29 +62,40 @@ * role, then you need to use a <code>ComponentSelector</code>. Roles are * usually the full interface name. * + * <p> * A role is better understood by the analogy of a play. There are many * different roles in a script. Any actor or actress can play any given part * and you get the same results (phrases said, movements made, etc.). The exact * nuances of the performance is different. + * </p> * + * <p> * Below is a list of things that might be considered the different roles: + * </p> * * <ul> * <li> InputAdapter and OutputAdapter</li> * <li> Store and Spool</li> * </ul> * + * <p> * The <code>ComponentManager</code> does not specify the methodology of * getting the <code>Component</code>, merely the interface used to get it. * Therefore the <code>ComponentManager</code> can be implemented with a * factory pattern, an object pool, or a simple Hashtable. + * </p> + * + * <p> + * <span style="color: red">Deprecated: </span><i> + * Use {@link org.apache.avalon.framework.service.ServiceManager} instead. + * </i> + * </p> * * @see org.apache.avalon.framework.component.Component * @see org.apache.avalon.framework.component.Composable * @see org.apache.avalon.framework.component.ComponentSelector * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> - * @deprecated Use {@link org.apache.avalon.framework.service.ServiceManager} instead. */ public interface ComponentManager { 1.16 +12 -1 jakarta-avalon/src/java/org/apache/avalon/framework/component/ComponentSelector.java Index: ComponentSelector.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/ComponentSelector.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ComponentSelector.java 23 Nov 2002 08:58:58 -0000 1.15 +++ ComponentSelector.java 3 Feb 2003 20:08:44 -0000 1.16 @@ -59,29 +59,40 @@ * hint. The contract is that all the <code>Component</code>s implement the * same role. * + * <p> * A role is better understood by the analogy of a play. There are many * different roles in a script. Any actor or actress can play any given part * and you get the same results (phrases said, movements made, etc.). The exact * nuances of the performance is different. + * </p> * + * <p> * Below is a list of things that might be considered the same role: + * </p> * * <ul> * <li> XMLInputAdapter and PropertyInputAdapter</li> * <li> FileGenerator and SQLGenerator</li> * </ul> * + * <p> * The <code>ComponentSelector</code> does not specify the methodology of * getting the <code>Component</code>, merely the interface used to get it. * Therefore the <code>ComponentSelector</code> can be implemented with a * factory pattern, an object pool, or a simple Hashtable. + * </p> + * + * <p> + * <span style="color: red">Deprecated: </span><i> + * Use {@link org.apache.avalon.framework.service.ServiceSelector} instead. + * </i> + * </p> * * @see org.apache.avalon.framework.component.Component * @see org.apache.avalon.framework.component.Composable * @see org.apache.avalon.framework.component.ComponentManager * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> - * @deprecated Use {@link org.apache.avalon.framework.service.ServiceSelector} instead. */ public interface ComponentSelector extends Component 1.15 +8 -2 jakarta-avalon/src/java/org/apache/avalon/framework/component/Composable.java Index: Composable.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/Composable.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- Composable.java 22 Dec 2002 04:20:28 -0000 1.14 +++ Composable.java 3 Feb 2003 20:08:44 -0000 1.15 @@ -58,17 +58,23 @@ * A <code>Composable</code> class is one that needs to connect to software * components using a "role" abstraction, thus not depending on particular * implementations but on behavioral interfaces. - * <br /> * + * <p> * The contract surrounding a <code>Composable</code> is that it is a user. * The <code>Composable</code> is able to use <code>Components</code> managed * by the <code>ComponentManager</code> it was initialized with. As part * of the contract with the system, the instantiating entity must call * the <code>compose</code> method before the <code>Composable</code> * can be considered valid. + * </p> + * + * <p> + * <span style="color: red">Deprecated: </span><i> + * Use {@link org.apache.avalon.framework.service.Serviceable} instead. + * </i> + * </p> * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> - * @deprecated Use {@link org.apache.avalon.framework.service.Serviceable} instead. */ public interface Composable { 1.21 +6 -1 jakarta-avalon/src/java/org/apache/avalon/framework/component/DefaultComponentManager.java Index: DefaultComponentManager.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/DefaultComponentManager.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- DefaultComponentManager.java 23 Nov 2002 08:58:58 -0000 1.20 +++ DefaultComponentManager.java 3 Feb 2003 20:08:44 -0000 1.21 @@ -63,9 +63,14 @@ * and extension so you can generate a tree of ComponentManager each defining * Component scope. * + * <p> + * <span style="color: red">Deprecated: </span><i> + * Use {@link org.apache.avalon.framework.service.DefaultServiceManager} instead. + * </i> + * </p> + * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> * @version 1.0 - * @deprecated Use {@link org.apache.avalon.framework.service.DefaultServiceManager} instead. */ public class DefaultComponentManager implements ComponentManager 1.18 +7 -2 jakarta-avalon/src/java/org/apache/avalon/framework/component/DefaultComponentSelector.java Index: DefaultComponentSelector.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/DefaultComponentSelector.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- DefaultComponentSelector.java 23 Nov 2002 08:58:58 -0000 1.17 +++ DefaultComponentSelector.java 3 Feb 2003 20:08:44 -0000 1.18 @@ -58,11 +58,16 @@ import java.util.Map; /** - * This is the default implementation of the ComponentSelector + * This is the default implementation of the ComponentSelector. + * + * <p> + * <span style="color: red">Deprecated: </span><i> + * Use {@link org.apache.avalon.framework.service.DefaultServiceSelector} instead. + * </i> + * </p> * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> * @version 1.0 - * @deprecated Use {@link org.apache.avalon.framework.service.DefaultServiceSelector} instead. */ public class DefaultComponentSelector implements ComponentSelector 1.16 +3 -1 jakarta-avalon/src/java/org/apache/avalon/framework/component/Recomposable.java Index: Recomposable.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/Recomposable.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Recomposable.java 23 Nov 2002 08:58:58 -0000 1.15 +++ Recomposable.java 3 Feb 2003 20:08:44 -0000 1.16 @@ -59,7 +59,9 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Avalon Development Team</a> * @version 1.0 - * @deprecated Use {@link org.apache.avalon.framework.service.Serviceable} instead. + * @deprecated Deprecated with no replacement. The Reconfigurable interface is a legacy + * interface with no concrete contracts. Rather than copy the design mistake + * to the "service" package, we no longer support this class. */ public interface Recomposable extends Composable 1.9 +54 -7 jakarta-avalon/src/java/org/apache/avalon/framework/component/WrapperComponentManager.java Index: WrapperComponentManager.java =================================================================== RCS file: /home/cvs/jakarta-avalon/src/java/org/apache/avalon/framework/component/WrapperComponentManager.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- WrapperComponentManager.java 23 Nov 2002 08:58:58 -0000 1.8 +++ WrapperComponentManager.java 3 Feb 2003 20:08:45 -0000 1.9 @@ -1,9 +1,56 @@ -/* - * Copyright (C) The Apache Software Foundation. All rights reserved. +/* ==================================================================== + * The Apache Software License, Version 1.1 * - * This software is published under the terms of the Apache Software License - * version 1.1, a copy of which has been included with this distribution in - * the LICENSE.txt file. + * Copyright (c) 1997-2002 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software + * itself, if and wherever such third-party acknowledgments + * normally appear. + * + * 4. The names "Jakarta", "Avalon", and "Apache Software Foundation" + * must not be used to endorse or promote products derived from this + * software without prior written permission. For written + * permission, please contact [EMAIL PROTECTED] + * + * 5. Products derived from this software may not be called "Apache", + * nor may "Apache" appear in their name, without prior written + * permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. */ package org.apache.avalon.framework.component; @@ -12,7 +59,7 @@ import org.apache.avalon.framework.service.ServiceSelector; /** - * * This is a {@link ComponentManager} implementation that can wrap around a + * This is a {@link ComponentManager} implementation that can wrap around a * {@link ServiceManager} object effectively adapting a {@link ServiceManager} * interface to a {@link ComponentManager} interface. *
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]