Author: apetrelli
Date: Mon Mar  9 22:39:50 2009
New Revision: 751886

URL: http://svn.apache.org/viewvc?rev=751886&view=rev
Log:
TILES-375
Added "getComposeStack" method.

Modified:
    
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletUtil.java

Modified: 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletUtil.java
URL: 
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletUtil.java?rev=751886&r1=751885&r2=751886&view=diff
==============================================================================
--- 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletUtil.java
 (original)
+++ 
tiles/framework/trunk/tiles-servlet/src/main/java/org/apache/tiles/servlet/context/ServletUtil.java
 Mon Mar  9 22:39:50 2009
@@ -22,6 +22,7 @@
 package org.apache.tiles.servlet.context;
 
 import java.io.IOException;
+import java.util.Stack;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
@@ -45,6 +46,11 @@
 public final class ServletUtil {
 
     /**
+     * The name of the attribute that will contain the compose stack.
+     */
+    public static final String COMPOSE_STACK_ATTRIBUTE_NAME = 
"org.apache.tiles.template.COMPOSE_STACK";
+
+    /**
      * Name of the attribute used to store the force-include option.
      * @since 2.0.6
      */
@@ -236,4 +242,23 @@
 
         return retValue;
     }
+
+    /**
+     * Returns the compose stack, that is used by the tags to compose
+     * definitions, attributes, etc.
+     *
+     * @param request The HTTP request.
+     * @return The compose stack.
+     * @since 2.2.0
+     */
+    @SuppressWarnings("unchecked")
+    public static Stack<Object> getComposeStack(HttpServletRequest request) {
+        Stack<Object> composeStack = (Stack<Object>) request.getAttribute(
+                COMPOSE_STACK_ATTRIBUTE_NAME);
+        if (composeStack == null) {
+            composeStack = new Stack<Object>();
+            request.setAttribute(COMPOSE_STACK_ATTRIBUTE_NAME, composeStack);
+        }
+        return composeStack;
+    }
 }


Reply via email to