Author: ivaynberg
Date: Mon Jan 26 16:30:57 2009
New Revision: 737731

URL: http://svn.apache.org/viewvc?rev=737731&view=rev
Log:
extract placeholder rendering into an overridable method

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=737731&r1=737730&r2=737731&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Mon Jan 
26 16:30:57 2009
@@ -2413,33 +2413,44 @@
                {
                        if (getFlag(FLAG_PLACEHOLDER))
                        {
-                               // write out a placeholder tag into the markup
                                final ComponentTag tag = markupStream.getTag();
-
-                               String namespacePrefix = 
Strings.isEmpty(tag.getNamespace()) ? null
-                                       : tag.getNamespace() + ":";
-
-                               getResponse().write("<");
-                               if (namespacePrefix != null)
-                               {
-                                       getResponse().write(namespacePrefix);
-                               }
-                               getResponse().write(tag.getName());
-                               getResponse().write(" id=\"");
-                               getResponse().write(getMarkupId());
-                               getResponse().write("\" 
style=\"display:none\"></");
-                               if (namespacePrefix != null)
-                               {
-                                       getResponse().write(namespacePrefix);
-                               }
-                               getResponse().write(tag.getName());
-                               getResponse().write(">");
+                               renderPlaceholderTag(tag, getResponse());
                        }
                        markupStream.skipComponent();
                }
        }
 
        /**
+        * Renders a placeholder tag for the component when it is invisible and
+        * {...@link #setOutputMarkupPlaceholderTag(boolean)} has been called 
with <code>true</code>.
+        * 
+        * @param tag
+        *            component tag
+        * @param response
+        *            response
+        */
+       protected void renderPlaceholderTag(final ComponentTag tag, final 
Response response)
+       {
+               String ns = Strings.isEmpty(tag.getNamespace()) ? null : 
tag.getNamespace() + ":";
+
+               response.write("<");
+               if (ns != null)
+               {
+                       response.write(ns);
+               }
+               response.write(tag.getName());
+               response.write(" id=\"");
+               response.write(getMarkupId());
+               response.write("\" style=\"display:none\"></");
+               if (ns != null)
+               {
+                       response.write(ns);
+               }
+               response.write(tag.getName());
+               response.write(">");
+       }
+
+       /**
         * Page.renderPage() is used to render a whole page. With AJAX however 
it must be possible to
         * render any one component contained in a page. That is what this 
method is for.
         * <p>


Reply via email to