You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2016/06/16 17:36:08 UTC

[2/4] wicket git commit: Use more Java 8 idioms in wicket-examples

Use more Java 8 idioms in wicket-examples


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5ec3ecb5
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5ec3ecb5
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5ec3ecb5

Branch: refs/heads/master
Commit: 5ec3ecb5c14edbd3ebe7b383441547bf71892bc1
Parents: 56325c6
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Jun 15 23:19:11 2016 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Jun 15 23:19:11 2016 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/behavior/Behavior.java    |  2 +-
 .../wicket/markup/html/include/Include.java     |  5 +-
 .../bean/validation/BeanValidationPage.java     | 14 ++--
 .../breadcrumb/BreadCrumbApplication.java       |  6 --
 .../wicket/examples/breadcrumb/FirstPanel.java  |  3 -
 .../wicket/examples/breadcrumb/FourthPanel.java |  3 -
 .../wicket/examples/breadcrumb/ResultPanel.java |  6 +-
 .../wicket/examples/breadcrumb/SecondPanel.java | 10 +--
 .../wicket/examples/breadcrumb/ThirdPanel.java  |  3 -
 .../examples/captcha/AbstractCaptchaForm.java   | 20 ++----
 .../wicket/examples/captcha/CageForm.java       |  2 +-
 .../examples/captcha/CaptchaApplication.java    | 10 ---
 .../wicket/examples/captcha/CaptchaForm.java    |  2 +-
 .../wicket/examples/captcha/KaptchaForm.java    |  2 +-
 .../examples/cdi/AutoConversationPage1.java     | 18 +----
 .../wicket/examples/cdi/ConversationPage1.java  | 20 +-----
 .../wicket/examples/cdi/ConversationPage2.java  |  9 +--
 .../wicket/examples/cdi/InjectionPage.java      |  9 +--
 .../examples/compref/BookmarkablePage.java      | 37 ++---------
 .../wicket/examples/compref/ButtonPage.java     |  2 +-
 .../compref/CheckBoxMultipleChoicePage.java     |  6 +-
 .../examples/compref/CheckBoxSelectorPage.java  |  2 +-
 .../wicket/examples/compref/CheckGroupPage.java |  5 +-
 .../examples/compref/CheckGroupPage2.java       |  9 +--
 .../compref/ComponentReferenceApplication.java  | 13 ----
 .../apache/wicket/examples/compref/Count.java   |  3 -
 .../examples/compref/DropDownChoicePage.java    |  7 +-
 .../wicket/examples/compref/FormPage.java       |  4 +-
 .../wicket/examples/compref/LabelPage.java      | 17 ++---
 .../wicket/examples/compref/LinkPage.java       | 70 +++-----------------
 .../wicket/examples/compref/ListChoicePage.java |  7 +-
 .../compref/ListMultipleChoicePage.java         | 22 ++----
 .../examples/compref/NonBookmarkablePage.java   | 30 ++-------
 .../wicket/examples/compref/PalettePage.java    |  2 +-
 .../examples/compref/RadioChoicePage.java       |  4 +-
 .../wicket/examples/compref/RadioGroupPage.java | 13 ++--
 .../examples/compref/RadioGroupPage2.java       | 14 ++--
 .../wicket/examples/compref/RecursivePanel.java |  5 +-
 .../wicket/examples/compref/SelectPage.java     |  4 +-
 .../examples/compref/TabbedPanelPage.java       | 12 +---
 .../wicket/examples/compref/TextAreaPage.java   |  7 +-
 .../wicket/examples/compref/TextFieldPage.java  |  9 +--
 .../apache/wicket/examples/compref/XmlPage.java |  3 -
 .../markup/html/tabs/AbstractTab.java           | 11 +--
 44 files changed, 104 insertions(+), 358 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java b/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
index 74a713e..eae8cad 100644
--- a/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
@@ -41,7 +41,7 @@ import org.apache.wicket.util.lang.Args;
  * You also cannot modify a components model with a behavior.
  * </p>
  * 
- * @see org.apache.wicket.behavior.IBehaviorListener
+ * @see IRequestListener
  * @see org.apache.wicket.markup.html.IHeaderContributor
  * @see org.apache.wicket.behavior.AbstractAjaxBehavior
  * @see org.apache.wicket.AttributeModifier

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
index bfc52d9..0076e18 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/include/Include.java
@@ -22,6 +22,7 @@ import java.nio.charset.Charset;
 
 import javax.servlet.ServletContext;
 
+import org.apache.wicket.IGenericComponent;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.core.util.resource.UrlResourceStream;
 import org.apache.wicket.markup.ComponentTag;
@@ -79,7 +80,7 @@ import org.apache.wicket.util.lang.Args;
  * 
  * @author Eelco Hillenius
  */
-public class Include extends WebComponent
+public class Include extends WebComponent implements IGenericComponent<String, Include>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -129,7 +130,7 @@ public class Include extends WebComponent
 	{
 		// gets the model object: should provide us with either an absolute or a
 		// relative url
-		String url = getDefaultModelObjectAsString();
+		String url = getModelObject();
 
 		if (UrlUtils.isRelative(url))
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/bean/validation/BeanValidationPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/bean/validation/BeanValidationPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/bean/validation/BeanValidationPage.java
index 33e3a04..faec290 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/bean/validation/BeanValidationPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/bean/validation/BeanValidationPage.java
@@ -16,8 +16,6 @@
  */
 package org.apache.wicket.examples.bean.validation;
 
-import java.util.Date;
-
 import org.apache.wicket.bean.validation.PropertyValidator;
 import org.apache.wicket.datetime.StyleDateConverter;
 import org.apache.wicket.datetime.markup.html.form.DateTextField;
@@ -49,13 +47,13 @@ public class BeanValidationPage extends WicketExamplePage
 		
 		add(form);
 
-		form.add(new TextField<String>("name", new PropertyModel<String>(this, "person.name")).add(new PropertyValidator<>()));
-		form.add(new TextField<String>("phone", new PropertyModel<String>(this, "person.phone")).add(new PropertyValidator<>()));
-		form.add(new TextField<String>("email", new PropertyModel<String>(this, "person.email")).add(new PropertyValidator<>()));
-		form.add(new DateTextField("birthdate", new PropertyModel<Date>(this, "person.birthdate"),
+		form.add(new TextField<>("name", new PropertyModel<String>(this, "person.name")).add(new PropertyValidator<>()));
+		form.add(new TextField<>("phone", new PropertyModel<String>(this, "person.phone")).add(new PropertyValidator<>()));
+		form.add(new TextField<>("email", new PropertyModel<String>(this, "person.email")).add(new PropertyValidator<>()));
+		form.add(new DateTextField("birthdate", new PropertyModel<>(this, "person.birthdate"),
 			new StyleDateConverter("S-", true)).add(new PropertyValidator<>()));
-		form.add(new TextField<String>("password", new PropertyModel<String>(this, "person.password")).add(new PropertyValidator<>()));
+		form.add(new TextField<>("password", new PropertyModel<String>(this, "person.password")).add(new PropertyValidator<>()));
 		
 		add(new FeedbackPanel("feedbackSuccess", new ExactLevelFeedbackMessageFilter(FeedbackMessage.INFO)));
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/BreadCrumbApplication.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/BreadCrumbApplication.java b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/BreadCrumbApplication.java
index 03c40fe..bbd7dd3 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/BreadCrumbApplication.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/BreadCrumbApplication.java
@@ -26,18 +26,12 @@ import org.apache.wicket.protocol.http.WebApplication;
  */
 public class BreadCrumbApplication extends WebApplication
 {
-	/**
-	 * @see org.apache.wicket.Application#getHomePage()
-	 */
 	@Override
 	public Class<? extends Page> getHomePage()
 	{
 		return Index.class;
 	}
 
-	/**
-	 * @see org.apache.wicket.protocol.http.WebApplication#init()
-	 */
 	@Override
 	protected void init()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FirstPanel.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FirstPanel.java b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FirstPanel.java
index f4156f6..c3de650 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FirstPanel.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FirstPanel.java
@@ -41,9 +41,6 @@ public class FirstPanel extends BreadCrumbPanel
 		add(new BreadCrumbPanelLink("linkToSecond", this, SecondPanel.class));
 	}
 
-	/**
-	 * @see org.apache.wicket.extensions.breadcrumb.IBreadCrumbParticipant#getTitle()
-	 */
 	@Override
 	public IModel<String> getTitle()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FourthPanel.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FourthPanel.java b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FourthPanel.java
index f0efe1e..e299ce7 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FourthPanel.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/FourthPanel.java
@@ -39,9 +39,6 @@ public class FourthPanel extends BreadCrumbPanel
 		super(id, breadCrumbModel);
 	}
 
-	/**
-	 * @see org.apache.wicket.extensions.breadcrumb.IBreadCrumbParticipant#getTitle()
-	 */
 	@Override
 	public IModel<String> getTitle()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ResultPanel.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ResultPanel.java b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ResultPanel.java
index a7c8d54..7332faa 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ResultPanel.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ResultPanel.java
@@ -21,6 +21,7 @@ import org.apache.wicket.extensions.breadcrumb.panel.BreadCrumbPanel;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.Strings;
 
 
 /**
@@ -42,7 +43,7 @@ public class ResultPanel extends BreadCrumbPanel
 	{
 		super(id, breadCrumbModel);
 
-		if (result == null || "".equals(result.trim()))
+		if (Strings.isEmpty(result))
 		{
 			result = "(hey, you didn't even provide some input!)";
 		}
@@ -50,9 +51,6 @@ public class ResultPanel extends BreadCrumbPanel
 		add(new Label("result", result));
 	}
 
-	/**
-	 * @see org.apache.wicket.extensions.breadcrumb.IBreadCrumbParticipant#getTitle()
-	 */
 	@Override
 	public IModel<String> getTitle()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/SecondPanel.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/SecondPanel.java b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/SecondPanel.java
index 4b20b28..dc296a2 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/SecondPanel.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/SecondPanel.java
@@ -59,15 +59,7 @@ public class SecondPanel extends BreadCrumbPanel
 				@Override
 				public void onSubmit()
 				{
-					activate(new IBreadCrumbPanelFactory()
-					{
-						@Override
-						public BreadCrumbPanel create(String componentId,
-							IBreadCrumbModel breadCrumbModel)
-						{
-							return new ResultPanel(componentId, breadCrumbModel, input);
-						}
-					});
+					activate((componentId, breadCrumbModel) -> new ResultPanel(componentId, breadCrumbModel, input));
 				}
 			});
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ThirdPanel.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ThirdPanel.java b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ThirdPanel.java
index c6797a8..05d812e 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ThirdPanel.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/breadcrumb/ThirdPanel.java
@@ -39,9 +39,6 @@ public class ThirdPanel extends BreadCrumbPanel
 		super(id, breadCrumbModel);
 	}
 
-	/**
-	 * @see org.apache.wicket.extensions.breadcrumb.IBreadCrumbParticipant#getTitle()
-	 */
 	@Override
 	public IModel<String> getTitle()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/AbstractCaptchaForm.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/AbstractCaptchaForm.java b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/AbstractCaptchaForm.java
index 6f85c30..3c7b14d 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/AbstractCaptchaForm.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/AbstractCaptchaForm.java
@@ -16,7 +16,6 @@
  */
 package org.apache.wicket.examples.captcha;
 
-import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.extensions.markup.html.captcha.CaptchaImageResource;
 import org.apache.wicket.feedback.ContainerFeedbackMessageFilter;
@@ -79,24 +78,19 @@ public abstract class AbstractCaptchaForm<T> extends GenericPanel<T>
 				new ContainerFeedbackMessageFilter(AbstractCaptchaForm.this));
 		form.add(feedback);
 
-		captchaImageResource = createCaptchImageResource();
+		captchaImageResource = createCaptchaImageResource();
 		final Image captchaImage = new Image("image", captchaImageResource);
 		captchaImage.setOutputMarkupId(true);
 		form.add(captchaImage);
 
-		AjaxLink<Void> changeCaptchaLink = new AjaxLink<Void>("changeLink")
-		{
-			@Override
-			public void onClick(AjaxRequestTarget target)
-			{
-				captchaImageResource.invalidate();
-				target.add(captchaImage);
-			}
-		};
+		AjaxLink<Void> changeCaptchaLink = AjaxLink.onClick("changeLink", target -> {
+			captchaImageResource.invalidate();
+			target.add(captchaImage);
+		});
 		form.add(changeCaptchaLink);
 
 		form.add(new RequiredTextField<String>("text",
-				new PropertyModel<String>(AbstractCaptchaForm.this, "captchaText"), String.class)
+				new PropertyModel<>(AbstractCaptchaForm.this, "captchaText"), String.class)
 		{
 			@Override
 			protected final void onComponentTag(final ComponentTag tag)
@@ -108,5 +102,5 @@ public abstract class AbstractCaptchaForm<T> extends GenericPanel<T>
 		});
 	}
 
-	protected abstract CaptchaImageResource createCaptchImageResource();
+	protected abstract CaptchaImageResource createCaptchaImageResource();
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CageForm.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CageForm.java b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CageForm.java
index 7517326..0f6977d 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CageForm.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CageForm.java
@@ -41,7 +41,7 @@ public class CageForm<T> extends AbstractCaptchaForm<T>
 	}
 
 	@Override
-	protected CaptchaImageResource createCaptchImageResource()
+	protected CaptchaImageResource createCaptchaImageResource()
 	{
 		return new CaptchaImageResource()
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaApplication.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaApplication.java b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaApplication.java
index 717c05b..185c357 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaApplication.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaApplication.java
@@ -26,16 +26,6 @@ import org.apache.wicket.examples.WicketExampleApplication;
  */
 public class CaptchaApplication extends WicketExampleApplication
 {
-	/**
-	 * Constructor.
-	 */
-	public CaptchaApplication()
-	{
-	}
-
-	/**
-	 * @see org.apache.wicket.Application#getHomePage()
-	 */
 	@Override
 	public Class< ? extends Page> getHomePage()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaForm.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaForm.java b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaForm.java
index 6fe4c1e..3781c9a 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaForm.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/CaptchaForm.java
@@ -37,7 +37,7 @@ public class CaptchaForm<T> extends AbstractCaptchaForm<T>
 	}
 
 	@Override
-	protected CaptchaImageResource createCaptchImageResource()
+	protected CaptchaImageResource createCaptchaImageResource()
 	{
 		return new CaptchaImageResource()
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/KaptchaForm.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/KaptchaForm.java b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/KaptchaForm.java
index a3ffa3a..77492e8 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/KaptchaForm.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/captcha/KaptchaForm.java
@@ -44,7 +44,7 @@ public class KaptchaForm<T> extends AbstractCaptchaForm<T>
 	}
 
 	@Override
-	protected CaptchaImageResource createCaptchImageResource()
+	protected CaptchaImageResource createCaptchaImageResource()
 	{
 		return new CaptchaImageResource()
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java
index fd5190d..65c7481 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/AutoConversationPage1.java
@@ -36,22 +36,8 @@ public class AutoConversationPage1 extends CdiExamplePage implements Conversatio
 	{
 		add(new Label("count", new PropertyModel(this, "counter.count")));
 
-		add(new Link<Void>("increment")
-		{
-			@Override
-			public void onClick()
-			{
-				counter.increment();
-			}
-		});
+		add(Link.onClick("increment", () -> counter.increment()));
 
-		add(new Link<Void>("next")
-		{
-			@Override
-			public void onClick()
-			{
-				setResponsePage(new AutoConversationPage2());
-			}
-		});
+		add(Link.onClick("next", () -> setResponsePage(new AutoConversationPage2())));
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage1.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage1.java b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage1.java
index 157e277..78e018a 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage1.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage1.java
@@ -38,22 +38,8 @@ public class ConversationPage1 extends CdiExamplePage
 
 		add(new Label("count", new PropertyModel(this, "counter.count")));
 
-		add(new Link<Void>("increment")
-		{
-			@Override
-			public void onClick()
-			{
-				counter.increment();
-			}
-		});
-
-		add(new Link<Void>("next")
-		{
-			@Override
-			public void onClick()
-			{
-				setResponsePage(new ConversationPage2());
-			}
-		});
+		add(Link.onClick("increment", () -> counter.increment()));
+
+		add(Link.onClick("next", () -> setResponsePage(new ConversationPage2())));
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage2.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage2.java b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage2.java
index 89b9e6a..da53aca 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage2.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/ConversationPage2.java
@@ -32,14 +32,7 @@ public class ConversationPage2 extends CdiExamplePage
 	{
 		add(new Label("count", new PropertyModel(this, "counter.count")));
 
-		add(new Link<Void>("increment")
-		{
-			@Override
-			public void onClick()
-			{
-				counter.increment();
-			}
-		});
+		add(Link.onClick("increment", () -> counter.increment()));
 
 		add(new BookmarkablePageLink<Void>("next", ConversationPage3.class));
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/InjectionPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/InjectionPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/InjectionPage.java
index f6c8a95..e25450f 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/InjectionPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/cdi/InjectionPage.java
@@ -31,13 +31,6 @@ public class InjectionPage extends CdiExamplePage
 	{
 		add(new Label("count", new PropertyModel(this, "counter.count")));
 
-		add(new Link<Void>("increment")
-		{
-			@Override
-			public void onClick()
-			{
-				counter.increment();
-			}
-		});
+		add(Link.onClick("increment", () -> counter.increment()));
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePage.java
index 8133b41..ad18f19 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePage.java
@@ -30,53 +30,24 @@ import org.apache.wicket.request.mapper.parameter.PageParameters;
 public class BookmarkablePage extends WebPage
 {
 	/**
-	 * Constructor.
-	 */
-	public BookmarkablePage()
-	{
-		this(null);
-		// note: its here for style actually. When you have both a default
-		// constructor,
-		// and a constructor with a PageParameters argument, the latter is
-		// allways called
-		// with a non-null argument
-	}
-
-	/**
 	 * Construct.
 	 * 
 	 * @param pageParameters
 	 */
 	public BookmarkablePage(PageParameters pageParameters)
 	{
+		super(pageParameters);
 		// get the message from the passed 'message' parameter or fall back to
 		// the default
 		// when no parameters were passed.
 
-		String message;
-		// note: the null check is here as a matter of defensive programming.
-		// Actually, as this
-		// constructor is allways called instead of the default constructor, and
-		// pageParameters
-		// never null, the check is not nescesarry. On the other hand... would
-		// you ever trust
-		// any API enough to just not check it at all?
-		if (pageParameters == null ||
-			pageParameters.get("message").toOptionalString() == null)
-		{
-			message = "This is the default message";
-		}
-		else
-		{
-			message = pageParameters.get("message").toOptionalString();
-		}
-
+		String message = pageParameters.get("message").toString("This is the default message");
 		// Add a label to display the message
 		add(new Label("messageLabel", message));
 
 		// Add a link back. We did not hold any important instance data in
-		// BookMarkabelPageLinkPage,
+		// BookmarkablePageLinkPage,
 		// so navigating to a new instance is just fine
 		add(new BookmarkablePageLink<>("navigateBackLink", BookmarkablePageLinkPage.class));
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ButtonPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ButtonPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ButtonPage.java
index 75f9d02..d18fc04 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ButtonPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ButtonPage.java
@@ -39,7 +39,7 @@ public class ButtonPage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSumbit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxMultipleChoicePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxMultipleChoicePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxMultipleChoicePage.java
index 1b20884..cd20bdd 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxMultipleChoicePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxMultipleChoicePage.java
@@ -57,7 +57,7 @@ public class CheckBoxMultipleChoicePage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSubmit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -69,11 +69,11 @@ public class CheckBoxMultipleChoicePage extends WicketExamplePage
 
 		// add a couple of checkbox multiple choice components, notice the model
 		// used is a compound model set on the page
-		CheckBoxMultipleChoice<String> siteChoice = new CheckBoxMultipleChoice<String>("sites",
+		CheckBoxMultipleChoice<String> siteChoice = new CheckBoxMultipleChoice<>("sites",
 			SITES);
 		form.add(siteChoice);
 
-		CheckBoxMultipleChoice<String> manyChoice = new CheckBoxMultipleChoice<String>("choices",
+		CheckBoxMultipleChoice<String> manyChoice = new CheckBoxMultipleChoice<>("choices",
 			MANY_CHOICES);
 		form.add(manyChoice);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
index 3163a5a..6e93db8 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
@@ -85,7 +85,7 @@ public class CheckBoxSelectorPage extends WicketExamplePage
 			}
 		});
 		final CheckBoxMultipleChoice<Integer> choice = new CheckBoxMultipleChoice<>(
-			"choice", Model.ofList(new ArrayList<Integer>()), Arrays.asList(1, 2, 3, 4));
+			"choice", Model.ofList(new ArrayList<>()), Arrays.asList(1, 2, 3, 4));
 		form.add(choice);
 		form.add(new CheckboxMultipleChoiceSelector("choiceSelector", choice));
 		final CheckBox loose1 = new CheckBox("looseCheck1", Model.of(Boolean.FALSE));

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage.java
index 7da2851..738920e 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage.java
@@ -43,7 +43,7 @@ public class CheckGroupPage extends WicketExamplePage
 	public CheckGroupPage()
 	{
 		final CheckGroup<Person> group = new CheckGroup<>("group", new ArrayList<Person>());
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -58,9 +58,6 @@ public class CheckGroupPage extends WicketExamplePage
 		ListView<Person> persons = new ListView<Person>("persons",
 			ComponentReferenceApplication.getPersons())
 		{
-			/**
-			 * @see org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem)
-			 */
 			@Override
 			protected void populateItem(ListItem<Person> item)
 			{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage2.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage2.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage2.java
index f098b87..7ae1e79 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage2.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckGroupPage2.java
@@ -27,6 +27,7 @@ import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.PropertyModel;
 
 
@@ -63,15 +64,15 @@ public class CheckGroupPage2 extends WicketExamplePage
 		ListView<Person> persons = new ListView<Person>("persons",
 			ComponentReferenceApplication.getPersons())
 		{
-
 			@Override
 			protected void populateItem(ListItem<Person> item)
 			{
-				item.add(new Check<>("checkbox", item.getModel(), group));
-				item.add(new Check<>("checkbox2", item.getModel(), group2));
+				IModel<Person> personModel = item.getModel();
+				item.add(new Check<>("checkbox", personModel, group));
+				item.add(new Check<>("checkbox2", personModel, group2));
 				item.add(new Label("name",
 					new PropertyModel<>(item.getDefaultModel(), "name")));
-				item.add(new Label("lastName", new PropertyModel<String>(item.getDefaultModel(),
+				item.add(new Label("lastName", new PropertyModel<String>(personModel,
 					"lastName")));
 			}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ComponentReferenceApplication.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ComponentReferenceApplication.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ComponentReferenceApplication.java
index 699f28d..a4bd3c9 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ComponentReferenceApplication.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ComponentReferenceApplication.java
@@ -48,16 +48,6 @@ public class ComponentReferenceApplication extends WicketExampleApplication
 		return personsDB;
 	}
 
-	/**
-	 * Constructor.
-	 */
-	public ComponentReferenceApplication()
-	{
-	}
-
-	/**
-	 * @see org.apache.wicket.examples.WicketExampleApplication#init()
-	 */
 	@Override
 	protected void init()
 	{
@@ -66,9 +56,6 @@ public class ComponentReferenceApplication extends WicketExampleApplication
 		getResourceSettings().setThrowExceptionOnMissingResource(false);
 	}
 
-	/**
-	 * @see org.apache.wicket.Application#getHomePage()
-	 */
 	@Override
 	public Class<? extends Page> getHomePage()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/Count.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/Count.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/Count.java
index 7374c6f..5bb382d 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/Count.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/Count.java
@@ -57,9 +57,6 @@ final class Count implements IClusterable
 		count--;
 	}
 
-	/**
-	 * @see java.lang.Object#toString()
-	 */
 	@Override
 	public String toString()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java
index e553f34..78931cb 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java
@@ -54,7 +54,7 @@ public class DropDownChoicePage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSumbit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -75,7 +75,7 @@ public class DropDownChoicePage extends WicketExamplePage
 		// which can be found in DropDownChoicePage.properties
 		form.add(new DropDownChoice<>("site", SITES));
 
-		// Allthough the default behavior of displaying the string
+		// Although the default behavior of displaying the string
 		// representations of the choices
 		// by calling toString on the object might be alright in some cases, you
 		// usually want to have
@@ -139,9 +139,6 @@ public class DropDownChoicePage extends WicketExamplePage
 		/** the selected integer. */
 		public Integer integer = INTEGERS.get(0);
 
-		/**
-		 * @see java.lang.Object#toString()
-		 */
 		@Override
 		public String toString()
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/FormPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/FormPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/FormPage.java
index a867b06..8c21116 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/FormPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/FormPage.java
@@ -38,7 +38,7 @@ public class FormPage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSubmit implementation that sets a message
-		add(new Form("form")
+		add(new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -72,4 +72,4 @@ public class FormPage extends WicketExamplePage
 
 	}
 
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LabelPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LabelPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LabelPage.java
index e901790..68d5331 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LabelPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LabelPage.java
@@ -20,6 +20,7 @@ import java.util.Date;
 
 import org.apache.wicket.examples.WicketExamplePage;
 import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.StringResourceModel;
 
@@ -39,19 +40,9 @@ public class LabelPage extends WicketExamplePage
 		// add a static label
 		add(new Label("staticLabel", "static text"));
 
-		// add a dynamic label. For this example, we create an anonymous
-		// subclass
-		// of Model (just because it is less work then directly implementing
-		// IModel)
-		// that returns a new java.util.Date on each invocation
-		add(new Label("dynamicLabel", new Model<Date>()
-		{
-			@Override
-			public Date getObject()
-			{
-				return new Date();
-			}
-		}));
+		// add a dynamic label. For this example, we create an anonymous subclass
+		// of IModel that returns a new java.util.Date on each invocation
+		add(new Label("dynamicLabel", Date::new));
 
 		// add a label with a model that gets its display text from a resource
 		// bundle

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LinkPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LinkPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LinkPage.java
index dbd16fb..9314f43 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LinkPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/LinkPage.java
@@ -16,11 +16,10 @@
  */
 package org.apache.wicket.examples.compref;
 
-import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.examples.WicketExamplePage;
+import org.apache.wicket.lambda.Lambdas;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 
 /**
@@ -42,40 +41,21 @@ public class LinkPage extends WicketExamplePage
 
 		// add a link which, when clicked, increases our counter when a link is clicked, its onClick
 		// method is called
-		Link link1 = new Link<Void>("link1")
-		{
-			@Override
-			public void onClick()
-			{
-				count1.increment();
-			}
-		};
+		Link link1 = Link.onClick("link1", count1::increment);
 		add(link1);
 
 		// add a counter label to the link so that we can display it in the body of the link
-		link1.add(new Label("label1", new Model<String>()
-		{
-			@Override
-			public String getObject()
-			{
-				return count1.toString();
-			}
-		}));
+		link1.add(new Label("label1", count1::toString));
 
 		final Count count2 = new Count();
 		// Same idea as above, but now we record a state change. Note that the URL will change
 		// because of this, and pressing the back button and clicking the link again would revert to
 		// the older value. The same thing could have been achieved by using setModelObject,
 		// which implicitly registers a state change (of type ComponentModelChange).
-		Link linkWithStateChange = new Link<Void>("linkWithStateChange")
-		{
-			@Override
-			public void onClick()
-			{
-				count2.increment();
-				addStateChange();
-			}
-		};
+		Link linkWithStateChange = Link.onClick("linkWithStateChange", () -> {
+			count2.increment();
+			addStateChange();
+		});
 		add(linkWithStateChange);
 		linkWithStateChange.add(new Label("label", new PropertyModel<>(count2, "count")));
 
@@ -124,16 +104,7 @@ public class LinkPage extends WicketExamplePage
 			{
 				super(id);
 				count3 = new Count();
-				add(new AttributeModifier("value", new Model<String>()
-				{
-					@Override
-					public String getObject()
-					{
-						// we just replace the whole string. You could use custom AttributeModifiers
-						// to e.g. just replace one part of the string if you want
-						return "this button is clicked " + count3.getCount() + " times";
-					}
-				}));
+				add(Lambdas.onAttribute("value", oldValue -> "this button is clicked " + count3.getCount() + " times"));
 			}
 
 			@Override
@@ -160,31 +131,12 @@ public class LinkPage extends WicketExamplePage
 		 */
 		public ClickCountLabel(String id, final Count clickCount)
 		{
-			// call super with a simple annonymous class model that displays the
+			// call super with a simple lambda model that displays the
 			// current number of clicks
-			super(id, new Model<String>()
-			{
-				@Override
-				public String getObject()
-				{
-					return clickCount.toString();
-				}
-			});
+			super(id, clickCount::toString);
 		}
 	}
 
-	// ----------
-
-	final Count count1 = new Count(); // simple counter object
-	Link link1 = new Link<Void>("link1")
-	{
-		@Override
-		public void onClick()
-		{
-			count1.increment();
-		}
-	};
-
 	/**
 	 * Override base method to provide an explanation
 	 */
@@ -207,4 +159,4 @@ public class LinkPage extends WicketExamplePage
 		add(new ExplainPanel(html, code));
 
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListChoicePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListChoicePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListChoicePage.java
index cd563c7..21bc4bf 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListChoicePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListChoicePage.java
@@ -50,7 +50,7 @@ public class ListChoicePage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSumbit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -75,9 +75,6 @@ public class ListChoicePage extends WicketExamplePage
 		/** the selected site. */
 		public String site = SITES.get(0);
 
-		/**
-		 * @see java.lang.Object#toString()
-		 */
 		@Override
 		public String toString()
 		{
@@ -104,4 +101,4 @@ public class ListChoicePage extends WicketExamplePage
 
 	}
 
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListMultipleChoicePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListMultipleChoicePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListMultipleChoicePage.java
index 550c20a..867ebb5 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListMultipleChoicePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/ListMultipleChoicePage.java
@@ -18,15 +18,15 @@ package org.apache.wicket.examples.compref;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Iterator;
 import java.util.List;
 
-import org.apache.wicket.util.io.IClusterable;
 import org.apache.wicket.examples.WicketExamplePage;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.ListMultipleChoice;
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
 import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.util.io.IClusterable;
+import org.apache.wicket.util.string.Strings;
 
 
 /**
@@ -56,7 +56,7 @@ public class ListMultipleChoicePage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSubmit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -106,9 +106,6 @@ public class ListMultipleChoicePage extends WicketExamplePage
 			choices.add("Choice5");
 		}
 
-		/**
-		 * @see java.lang.Object#toString()
-		 */
 		@Override
 		public String toString()
 		{
@@ -117,16 +114,7 @@ public class ListMultipleChoicePage extends WicketExamplePage
 
 		private String listAsString(List<String> list)
 		{
-		 StringBuilder b = new StringBuilder();
-			for (Iterator<String> i = list.iterator(); i.hasNext();)
-			{
-				b.append(i.next());
-				if (i.hasNext())
-				{
-					b.append(", ");
-				}
-			}
-			return b.toString();
+			return Strings.join(", ", list);
 		}
 	}
 
@@ -152,4 +140,4 @@ public class ListMultipleChoicePage extends WicketExamplePage
 		add(new ExplainPanel(html, code));
 
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/NonBookmarkablePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/NonBookmarkablePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/NonBookmarkablePage.java
index 67da021..2d633af 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/NonBookmarkablePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/NonBookmarkablePage.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.examples.compref;
 
+import org.apache.wicket.PageReference;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.link.Link;
 
@@ -33,7 +34,7 @@ public class NonBookmarkablePage extends WebPage
 	 * @param referer
 	 *            the refering page
 	 */
-	public NonBookmarkablePage(final WebPage referer)
+	public NonBookmarkablePage(final PageReference referer)
 	{
 		if (referer == null)
 		{
@@ -42,27 +43,8 @@ public class NonBookmarkablePage extends WebPage
 
 		// Add a link to navigate back to the refering page. We now use the
 		// PageLink
-		// constructor with the Page instance argument, because we allready have
-		// a page instance
-		// at our disposal
-		add(new Link<Void>("navigateBackLink")
-		{
-			@Override
-			public void onClick()
-			{
-				setResponsePage(referer);
-			}
-
-		});
-
-		// Note that this would have had the same effect
-		//
-		// add(new Link("navigateBackLink")
-		// {
-		// public void onClick()
-		// {
-		// setResponsePage(referer);
-		// }
-		// });
+		// constructor with the Page instance argument, because we already have
+		// a page instance at our disposal
+		add(Link.onClick("navigateBackLink", () -> setResponsePage(referer.getPage())));
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/PalettePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/PalettePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/PalettePage.java
index b5d7e30..5cc6f49 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/PalettePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/PalettePage.java
@@ -49,7 +49,7 @@ public class PalettePage extends WicketExamplePage
 
 		final Palette<Person> palette = new Palette<Person>("palette", new ListModel<>(
 
-			new ArrayList<Person>()), new CollectionModel<>(persons), renderer, 10, true, true);
+			new ArrayList<>()), new CollectionModel<>(persons), renderer, 10, true, true);
 
 		palette.add(new DefaultTheme());
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioChoicePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioChoicePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioChoicePage.java
index 96945f2..bec789a 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioChoicePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioChoicePage.java
@@ -53,7 +53,7 @@ public class RadioChoicePage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSumbit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -114,4 +114,4 @@ public class RadioChoicePage extends WicketExamplePage
 
 	}
 
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage.java
index d88fe5e..79d7189 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage.java
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.html.form.RadioGroup;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 
@@ -42,7 +43,7 @@ public class RadioGroupPage extends WicketExamplePage
 	{
 
 		final RadioGroup<Person> group = new RadioGroup<>("group", new Model<Person>());
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -57,15 +58,13 @@ public class RadioGroupPage extends WicketExamplePage
 		ListView<Person> persons = new ListView<Person>("persons",
 			ComponentReferenceApplication.getPersons())
 		{
-
 			@Override
 			protected void populateItem(ListItem<Person> item)
 			{
-				item.add(new Radio<>("radio", item.getModel()));
-				item.add(new Label("name",
-					new PropertyModel<>(item.getDefaultModel(), "name")));
-				item.add(new Label("lastName", new PropertyModel<String>(item.getDefaultModel(),
-					"lastName")));
+				IModel<Person> personModel = item.getModel();
+				item.add(new Radio<>("radio", personModel));
+				item.add(new Label("name", new PropertyModel<>(personModel, "name")));
+				item.add(new Label("lastName", new PropertyModel<String>(personModel, "lastName")));
 			}
 
 		};

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage2.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage2.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage2.java
index 526a639..b5e8998 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage2.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RadioGroupPage2.java
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.html.form.RadioGroup;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 
@@ -60,18 +61,15 @@ public class RadioGroupPage2 extends WicketExamplePage
 		ListView<Person> persons = new ListView<Person>("persons",
 			ComponentReferenceApplication.getPersons())
 		{
-
 			@Override
 			protected void populateItem(ListItem<Person> item)
 			{
-				item.add(new Radio<>("radio", item.getModel(), group));
-				item.add(new Radio<>("radio2", item.getModel(), group2));
-				item.add(new Label("name",
-					new PropertyModel<>(item.getDefaultModel(), "name")));
-				item.add(new Label("lastName", new PropertyModel<String>(item.getDefaultModel(),
-					"lastName")));
+				IModel<Person> model = item.getModel();
+				item.add(new Radio<>("radio", model, group));
+				item.add(new Radio<>("radio2", model, group2));
+				item.add(new Label("name", new PropertyModel<>(model, "name")));
+				item.add(new Label("lastName", new PropertyModel<String>(model, "lastName")));
 			}
-
 		};
 
 		group2.add(persons);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RecursivePanel.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RecursivePanel.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RecursivePanel.java
index 05f6feb..3331659 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RecursivePanel.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/RecursivePanel.java
@@ -66,14 +66,11 @@ public final class RecursivePanel extends Panel
 			super(name, list);
 		}
 
-		/**
-		 * @see org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem)
-		 */
 		@SuppressWarnings("unchecked")
 		@Override
 		protected void populateItem(ListItem<Object> listItem)
 		{
-			Object modelObject = listItem.getDefaultModelObject();
+			Object modelObject = listItem.getModelObject();
 
 			if (modelObject instanceof List)
 			{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
index e858f6b..1b7ecdd 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
@@ -103,7 +103,7 @@ public class SelectPage extends WicketExamplePage
 			}
 
 		};
-		IModel<Collection<String>> model = new CollectionModel<String>(
+		IModel<Collection<String>> model = new CollectionModel<>(
 			MANY_CHOICES);
 		choices.add(new SelectOptions<>("manychoices", model, renderer));
 
@@ -178,4 +178,4 @@ public class SelectPage extends WicketExamplePage
 		add(new ExplainPanel(html, code));
 
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TabbedPanelPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TabbedPanelPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TabbedPanelPage.java
index 8baf818..06db52f 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TabbedPanelPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TabbedPanelPage.java
@@ -53,7 +53,7 @@ public class TabbedPanelPage extends WicketExamplePage
 
 		// create a list of ITab objects used to feed the tabbed panel
 		final List<ITab> tabs = new ArrayList<>();
-		tabs.add(new AbstractTab(new Model<String>("first tab"))
+		tabs.add(new AbstractTab(new Model<>("first tab"))
 		{
 			private static final long serialVersionUID = 1L;
 
@@ -65,7 +65,7 @@ public class TabbedPanelPage extends WicketExamplePage
 
 		});
 
-		tabs.add(new AbstractTab(new Model<String>("second tab"))
+		tabs.add(new AbstractTab(new Model<>("second tab"))
 		{
 			private static final long serialVersionUID = 1L;
 
@@ -77,7 +77,7 @@ public class TabbedPanelPage extends WicketExamplePage
 
 		});
 
-		tabs.add(new AbstractTab(new Model<String>("third tab"))
+		tabs.add(new AbstractTab(new Model<>("third tab"))
 		{
 			private static final long serialVersionUID = 1L;
 
@@ -121,18 +121,12 @@ public class TabbedPanelPage extends WicketExamplePage
 			this.clazz = clazz;
 		}
 
-		/**
-		 * @see org.apache.wicket.markup.html.link.Link#onClick()
-		 */
 		@Override
 		public void onClick()
 		{
 			TabbedPanelPage.this.setDefaultModelObject(clazz);
 		}
 
-		/**
-		 * @see org.apache.wicket.markup.html.link.Link#isEnabled()
-		 */
 		@Override
 		public boolean isEnabled()
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextAreaPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextAreaPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextAreaPage.java
index 9549844..486a0f5 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextAreaPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextAreaPage.java
@@ -44,7 +44,7 @@ public class TextAreaPage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSumbit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<Void> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -64,9 +64,6 @@ public class TextAreaPage extends WicketExamplePage
 		/** some plain text. */
 		public String text = "line 1\nline 2\nline 3";
 
-		/**
-		 * @see java.lang.Object#toString()
-		 */
 		@Override
 		public String toString()
 		{
@@ -86,4 +83,4 @@ public class TextAreaPage extends WicketExamplePage
 		add(new ExplainPanel(html, code));
 	}
 
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextFieldPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextFieldPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextFieldPage.java
index 3ed2bf7..f06b400 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextFieldPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/TextFieldPage.java
@@ -42,7 +42,7 @@ public class TextFieldPage extends WicketExamplePage
 		// when components do not have an explicit model, but on of their
 		// parents
 		// has the compound property model set, it will use that parent's model
-		// as the taget for getting and setting the property which is based on
+		// as the target for getting and setting the property which is based on
 		// its own component id. Thus, component with id 'text' will act as if
 		// its
 		// model is property 'text' of the compound property model. And as the
@@ -57,7 +57,7 @@ public class TextFieldPage extends WicketExamplePage
 		add(feedbackPanel);
 
 		// Add a form with an onSumbit implementation that sets a message
-		Form<?> form = new Form("form")
+		Form<?> form = new Form<Void>("form")
 		{
 			@Override
 			protected void onSubmit()
@@ -113,9 +113,6 @@ public class TextFieldPage extends WicketExamplePage
 		/** an integer. */
 		public Integer integer = 12;
 
-		/**
-		 * @see java.lang.Object#toString()
-		 */
 		@Override
 		public String toString()
 		{
@@ -152,4 +149,4 @@ public class TextFieldPage extends WicketExamplePage
 
 	}
 
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-examples/src/main/java/org/apache/wicket/examples/compref/XmlPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/XmlPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/XmlPage.java
index 75e5f89..e852a70 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/XmlPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/XmlPage.java
@@ -41,9 +41,6 @@ public class XmlPage extends WebPage
 		add(new PersonsListView("persons", ComponentReferenceApplication.getPersons()));
 	}
 
-	/**
-	 * @see org.apache.wicket.MarkupContainer#getMarkupType()
-	 */
 	@Override
 	public MarkupType getMarkupType()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ec3ecb5/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/AbstractTab.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/AbstractTab.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/AbstractTab.java
index a9ace0a..f7a9b56 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/AbstractTab.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/AbstractTab.java
@@ -43,27 +43,18 @@ public abstract class AbstractTab implements ITab
 		this.title = title;
 	}
 
-	/**
-	 * {@inheritDoc}
-	 */
 	@Override
 	public IModel<String> getTitle()
 	{
 		return title;
 	}
 
-	/**
-	 * {@inheritDoc}
-	 */
 	@Override
 	public boolean isVisible()
 	{
 		return true;
 	}
 
-	/**
-	 * {@inheritDoc}
-	 */
 	@Override
 	public abstract WebMarkupContainer getPanel(final String panelId);
-}
\ No newline at end of file
+}