You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2019/06/11 07:52:14 UTC

[wicket] branch WICKET-6673-priority-ordering updated: WICKET-6673 javadoc improvements

This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch WICKET-6673-priority-ordering
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/WICKET-6673-priority-ordering by this push:
     new 26163a9  WICKET-6673 javadoc improvements
26163a9 is described below

commit 26163a96b09e540e74c913e0b6df67687c830184
Author: Sven Meier <sv...@apache.org>
AuthorDate: Tue Jun 11 09:34:24 2019 +0200

    WICKET-6673 javadoc improvements
---
 .../apache/wicket/markup/head/IHeaderResponse.java | 18 ++++------
 .../markup/head/PriorityFirstComparator.java       |  8 +++--
 .../wicket/markup/head/ResourceAggregator.java     | 42 ++++++++++++++++------
 3 files changed, 43 insertions(+), 25 deletions(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/IHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/IHeaderResponse.java
index a297f87..23a7c0d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/IHeaderResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/IHeaderResponse.java
@@ -19,7 +19,6 @@ package org.apache.wicket.markup.head;
 import java.io.Closeable;
 
 import org.apache.wicket.request.Response;
-import org.apache.wicket.request.resource.ResourceReference;
 
 /**
  * Interface that is used to render header elements (usually javascript and CSS references).
@@ -32,11 +31,14 @@ import org.apache.wicket.request.resource.ResourceReference;
 public interface IHeaderResponse extends Closeable
 {
 	/**
-	 * Renders the given {@link HeaderItem} to the response if none of the
-	 * {@linkplain HeaderItem#getRenderTokens() tokens} of the item has been rendered before.
+	 * Renders the given {@link HeaderItem} to the response if none of its
+	 * {@linkplain HeaderItem#getRenderTokens() tokens} has been rendered before.
+	 * <p>
+	 * Automatically marks all item's tokens as rendered.
 	 * 
 	 * @param item
 	 *            The item to render.
+	 * @see #markRendered(Object)
 	 */
 	void render(HeaderItem item);
 
@@ -52,18 +54,12 @@ public interface IHeaderResponse extends Closeable
 
 	/**
 	 * Returns whether the given object has been marked as rendered.
-	 * <ul>
-	 * <li>Methods <code>renderJavaScriptReference</code> and <code>renderCSSReference</code> mark
-	 * the specified {@link ResourceReference} as rendered.
-	 * <li>Method <code>renderJavaScript</code> marks List of two elements (first is javascript body
-	 * CharSequence and second is id) as rendered.
-	 * <li>Method <code>renderString</code> marks the whole string as rendered.
-	 * <li>Method <code>markRendered</code> can be used to mark an arbitrary object as rendered
-	 * </ul>
 	 * 
 	 * @param object
 	 *            Object that is queried to be rendered
 	 * @return Whether the object has been marked as rendered during the request
+	 * 
+	 * @see #markRendered(Object)
 	 */
 	boolean wasRendered(Object object);
 
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityFirstComparator.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityFirstComparator.java
index fc15255..6e52c08 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityFirstComparator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityFirstComparator.java
@@ -81,11 +81,13 @@ public class PriorityFirstComparator implements Comparator<RecordedHeaderItem>,
 	}
 
 	/**
-	 * Compares two priority header items, converting the child-first order into parent-first.
+	 * Compare two recorded {@link PriorityHeaderItem}s, converting the child-first order into parent-first.
 	 * 
-	 * @param item1
-	 * @param item2
+	 * @param item1 first item
+	 * @param item2 second item
 	 * @return -1, 0 or 1 if item1 needs to be rendered before, unchanged or after item2.
+	 * 
+	 * @see RecordedHeaderItemLocation#getDepth()
 	 */
 	protected int inversedComponentOrder(RecordedHeaderItem item1, RecordedHeaderItem item2)
 	{
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
index 224c8f5..14938df 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
@@ -66,13 +66,20 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 		}
 
 		/**
-		 * @return the component or behavior that added the item.
+		 * @return the component that rendered the item.
 		 */
 		public Component getRenderBase()
 		{
 			return renderBase;
 		}
 
+		/**
+		 * Get the depth of this location's component in the component tree.
+		 * <p>
+		 * Used by {@link ResourceAggregator} to give precedence to {@link PriorityHeaderItem}s that are closer to the page.
+		 * 
+		 * @return depth
+		 */
 		public int getDepth()
 		{
 			if (depth == -1) {
@@ -114,7 +121,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 		 * Records a location at which the item was added.
 		 * 
 		 * @param renderBase
-		 *            the component that added the item.
+		 *            the component that rendered the item.
 		 */
 		public void addLocation(Component renderBase)
 		{
@@ -153,6 +160,9 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 	private final List<HeaderItem> domReadyItemsToBeRendered;
 	private final List<OnLoadHeaderItem> loadItemsToBeRendered;
 
+	/**
+	 * The currently rendered component
+	 */
 	private Component renderBase;
 
 	/**
@@ -169,25 +179,35 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 		loadItemsToBeRendered = new ArrayList<>();
 	}
 
+	/**
+	 * Overridden to keep track of the currently rendered component.
+	 * 
+	 * @see Component#internalRenderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
+	 */
 	@Override
-	public void markRendered(Object object)
+	public boolean wasRendered(Object object)
 	{
-		super.markRendered(object);
-		if (object instanceof Component)
+		boolean ret = super.wasRendered(object);
+		if (!ret && object instanceof Component)
 		{
-			renderBase = null;
+			renderBase = (Component)object;
 		}
+		return ret;
 	}
 
+	/**
+	 * Overridden to keep track of the currently rendered component.
+	 * 
+	 * @see Component#internalRenderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
+	 */
 	@Override
-	public boolean wasRendered(Object object)
+	public void markRendered(Object object)
 	{
-		boolean ret = super.wasRendered(object);
-		if (!ret && object instanceof Component)
+		super.markRendered(object);
+		if (object instanceof Component)
 		{
-			renderBase = (Component)object;
+			renderBase = null;
 		}
-		return ret;
 	}
 
 	private void recordHeaderItem(HeaderItem item, Set<HeaderItem> depsDone)