You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2001/11/07 17:45:33 UTC
cvs commit: xml-cocoon2/src/org/apache/cocoon/environment AbstractEnvironment.java Environment.java
sylvain 01/11/07 08:45:33
Modified: src/org/apache/cocoon/environment AbstractEnvironment.java
Environment.java
Log:
added get/setAttribute stuff on Environment, like other interfaces in this package. This allows the pipeline Processor to store objects that shouldn't be exposed in the object model.
Revision Changes Path
1.25 +22 -1 xml-cocoon2/src/org/apache/cocoon/environment/AbstractEnvironment.java
Index: AbstractEnvironment.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/environment/AbstractEnvironment.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- AbstractEnvironment.java 2001/10/25 19:32:59 1.24
+++ AbstractEnvironment.java 2001/11/07 16:45:33 1.25
@@ -7,6 +7,7 @@
*****************************************************************************/
package org.apache.cocoon.environment;
+import org.apache.avalon.excalibur.collections.IteratorEnumeration;
import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.components.source.SourceHandler;
@@ -16,6 +17,7 @@
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
@@ -24,7 +26,7 @@
*
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.24 $ $Date: 2001/10/25 19:32:59 $
+ * @version CVS $Revision: 1.25 $ $Date: 2001/11/07 16:45:33 $
*/
public abstract class AbstractEnvironment extends AbstractLoggable implements Environment {
@@ -52,6 +54,9 @@
/** The source handler for the current environment */
protected SourceHandler sourceHandler;
+ /** The attributes */
+ private Map attributes = new HashMap();
+
/**
* Constructs the abstract enviornment
*/
@@ -304,5 +309,21 @@
*/
public void setResponseIsNotModified() {
// does nothing
+ }
+
+ public Object getAttribute(String name) {
+ return this.attributes.get(name);
+ }
+
+ public void setAttribute(String name, Object value) {
+ this.attributes.put(name, value);
+ }
+
+ public void removeAttribute(String name) {
+ this.attributes.remove(name);
+ }
+
+ public Enumeration getAttributeNames() {
+ return new IteratorEnumeration(this.attributes.keySet().iterator());
}
}
1.14 +42 -1 xml-cocoon2/src/org/apache/cocoon/environment/Environment.java
Index: Environment.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/environment/Environment.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Environment.java 2001/10/11 07:28:20 1.13
+++ Environment.java 2001/11/07 16:45:33 1.14
@@ -13,6 +13,7 @@
import java.io.IOException;
import java.io.OutputStream;
import java.net.URL;
+import java.util.Enumeration;
import java.util.Map;
/**
@@ -20,7 +21,7 @@
*
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.13 $ $Date: 2001/10/11 07:28:20 $
+ * @version CVS $Revision: 1.14 $ $Date: 2001/11/07 16:45:33 $
*/
public interface Environment extends SourceResolver {
@@ -125,5 +126,45 @@
* Mark the response as not modified.
*/
void setResponseIsNotModified();
+
+ /**
+ * Binds an object to this environment, using the name specified. This allows
+ * the pipeline assembly engine to store for its own use objects that souldn't
+ * be exposed to other components (generators, selectors, etc) and therefore
+ * cannot be put in the object model.
+ * <p>
+ * If an object of the same name is already bound, the object is replaced.
+ *
+ * @param name the name to which the object is bound
+ * @param value the object to be bound
+ */
+ void setAttribute(String name, Object value);
+
+ /**
+ * Returns the object bound with the specified name, or <code>null</code>
+ * if no object is bound under the name.
+ *
+ * @param name a string specifying the name of the object
+ * @return the object with the specified name
+ */
+ Object getAttribute(String name);
+
+ /**
+ * Removes the object bound with the specified name from
+ * this environment. If the environment does not have an object
+ * bound with the specified name, this method does nothing.
+ *
+ * @param name the name of the object to remove
+ */
+ void removeAttribute(String name);
+
+ /**
+ * Returns an <code>Enumeration</code> of <code>String</code> objects
+ * containing the names of all the objects bound to this environment.
+ *
+ * @return an <code>Enumeration</code> of <code>String</code>s.
+ */
+ Enumeration getAttributeNames();
+
}
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org