You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/01/26 17:30:57 UTC

svn commit: r737731 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java

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>