You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ad...@apache.org on 2014/12/27 17:28:39 UTC

svn commit: r1648065 - /wicket/common/site/trunk/_site/guide/guide/src/docs/guide/advanced/advanced_2.gdoc

Author: adelbene
Date: Sat Dec 27 16:28:38 2014
New Revision: 1648065

URL: http://svn.apache.org/r1648065
Log:
Added a small section to show how callback urls are implemented in standard Link comoponent.

Modified:
    wicket/common/site/trunk/_site/guide/guide/src/docs/guide/advanced/advanced_2.gdoc

Modified: wicket/common/site/trunk/_site/guide/guide/src/docs/guide/advanced/advanced_2.gdoc
URL: http://svn.apache.org/viewvc/wicket/common/site/trunk/_site/guide/guide/src/docs/guide/advanced/advanced_2.gdoc?rev=1648065&r1=1648064&r2=1648065&view=diff
==============================================================================
--- wicket/common/site/trunk/_site/guide/guide/src/docs/guide/advanced/advanced_2.gdoc (original)
+++ wicket/common/site/trunk/_site/guide/guide/src/docs/guide/advanced/advanced_2.gdoc Sat Dec 27 16:28:38 2014
@@ -100,6 +100,32 @@ The home page of project @CallbackURLExa
 Implementing interface @IBehaviorListener@ makes a behavior stateful because its callback URL is specific for a given instance of component.
 {note}
 
+As final note it's interesting to see how Wicket internally uses callback URLs for its standard link component. Class @org.apache.wicket.markup.html.link.Link@ implements interface @org.apache.wicket.markup.html.link.ILinkListener@ which in turn extends @IRequestListener@:
+
+{code}
+public interface ILinkListener extends IRequestListener
+{
+	/** Listener interface */
+	public static final RequestListenerInterface INTERFACE = new RequestListenerInterface(
+		ILinkListener.class);
+
+	/**
+	 * Called when a link is clicked.
+	 */
+	void onLinkClicked();
+}
+{code}
+
+The implementation of method @onLinkClicked@ simply delegates event handling to our custom version of @onClick@:
+
+{code}
+@Override
+public final void onLinkClicked()
+{
+	// Invoke subclass handler
+	onClick();
+}
+{code}
 
 h3. Wicket events infrastructure