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]