You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by gs...@apache.org on 2008/05/06 01:26:45 UTC

svn commit: r653631 - in /wicket/trunk: wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/

Author: gseitz
Date: Mon May  5 16:26:44 2008
New Revision: 653631

URL: http://svn.apache.org/viewvc?rev=653631&view=rev
Log:
generics

Modified:
    wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EditableLabelPage.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxLink.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxSubmitButton.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/WicketAjaxIndicatorAppender.java

Modified: wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EditableLabelPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EditableLabelPage.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EditableLabelPage.java (original)
+++ wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EditableLabelPage.java Mon May  5 16:26:44 2008
@@ -33,12 +33,12 @@
  * 
  * @author Igor Vaynberg (ivaynberg)
  */
-public class EditableLabelPage extends BasePage
+public class EditableLabelPage extends BasePage<EditableLabelPage>
 {
 	/** available sites for the multiple select. */
-	private static final List SITES = Arrays.asList(new String[] { "The Server Side", "Java Lobby",
-			"Java.Net" });
-	private String site = (String)SITES.get(0);
+	private static final List<String> SITES = Arrays.asList(new String[] { "The Server Side",
+			"Java Lobby", "Java.Net" });
+	private String site = SITES.get(0);
 	private String text1 = "fox";
 	private String text2 = "dog";
 	private String text3 = "multiple\nlines of\ntextual content";
@@ -49,22 +49,24 @@
 	 */
 	public EditableLabelPage()
 	{
-		setModel(new CompoundPropertyModel(this));
-		add(new AjaxEditableLabel("text1"));
-		add(new AjaxEditableLabel("text2"));
-		add(new AjaxEditableMultiLineLabel("text3"));
-		add(new AjaxEditableChoiceLabel("site", SITES));
+		setModel(new CompoundPropertyModel<EditableLabelPage>(this));
+		add(new AjaxEditableLabel<String>("text1"));
+		add(new AjaxEditableLabel<String>("text2"));
+		add(new AjaxEditableMultiLineLabel<String>("text3"));
+		add(new AjaxEditableChoiceLabel<String>("site", SITES));
 
-		add(new Label("refresh-counter", new AbstractReadOnlyModel()
+		add(new Label<String>("refresh-counter", new AbstractReadOnlyModel<String>()
 		{
-			public Object getObject()
+			@Override
+			public String getObject()
 			{
 				return "" + refreshCounter;
 			}
 		}));
 
-		add(new Link("refresh-link")
+		add(new Link<Void>("refresh-link")
 		{
+			@Override
 			public void onClick()
 			{
 				refreshCounter++;

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java Mon May  5 16:26:44 2008
@@ -16,7 +16,6 @@
  */
 package org.apache.wicket.extensions.ajax.markup.html;
 
-import java.io.Serializable;
 import java.util.List;
 
 import org.apache.wicket.MarkupContainer;
@@ -34,17 +33,18 @@
  * An inplace editor much like {@link AjaxEditableLabel}, but instead of a {@link TextField} a
  * {@link DropDownChoice} is displayed.
  * 
+ * @param <T>
  * @author Eelco Hillenius
  */
-public class AjaxEditableChoiceLabel extends AjaxEditableLabel
+public class AjaxEditableChoiceLabel<T> extends AjaxEditableLabel<T>
 {
 	private static final long serialVersionUID = 1L;
 
 	/** The list of objects. */
-	private IModel choices;
+	private IModel< ? extends List< ? extends T>> choices;
 
 	/** The renderer used to generate display/id values for the objects. */
-	private IChoiceRenderer renderer;
+	private IChoiceRenderer<T> renderer;
 
 	/**
 	 * Construct.
@@ -65,7 +65,7 @@
 	 * @param model
 	 *            The model
 	 */
-	public AjaxEditableChoiceLabel(String id, IModel model)
+	public AjaxEditableChoiceLabel(String id, IModel<T> model)
 	{
 		super(id, model);
 	}
@@ -78,7 +78,7 @@
 	 * @param choices
 	 *            The collection of choices in the dropdown
 	 */
-	public AjaxEditableChoiceLabel(String id, List choices)
+	public AjaxEditableChoiceLabel(String id, List< ? extends T> choices)
 	{
 		this(id, null, choices);
 	}
@@ -93,7 +93,8 @@
 	 * @param choices
 	 *            The collection of choices in the dropdown
 	 */
-	public AjaxEditableChoiceLabel(String id, IModel model, IModel choices)
+	public AjaxEditableChoiceLabel(String id, IModel<T> model,
+		IModel< ? extends List< ? extends T>> choices)
 	{
 		super(id, model);
 		this.choices = choices;
@@ -111,7 +112,8 @@
 	 * @param renderer
 	 *            The rendering engine
 	 */
-	public AjaxEditableChoiceLabel(String id, IModel model, IModel choices, IChoiceRenderer renderer)
+	public AjaxEditableChoiceLabel(String id, IModel<T> model,
+		IModel< ? extends List< ? extends T>> choices, IChoiceRenderer<T> renderer)
 	{
 		super(id, model);
 		this.choices = choices;
@@ -128,9 +130,10 @@
 	 * @param choices
 	 *            The collection of choices in the dropdown
 	 */
-	public AjaxEditableChoiceLabel(String id, IModel model, List choices)
+	@SuppressWarnings("unchecked")
+	public AjaxEditableChoiceLabel(String id, IModel<T> model, List< ? extends T> choices)
 	{
-		this(id, model, new Model((Serializable)choices));
+		this(id, model, Model.valueOf(choices));
 	}
 
 	/**
@@ -145,9 +148,11 @@
 	 * @param renderer
 	 *            The rendering engine
 	 */
-	public AjaxEditableChoiceLabel(String id, IModel model, List choices, IChoiceRenderer renderer)
+	@SuppressWarnings("unchecked")
+	public AjaxEditableChoiceLabel(String id, IModel<T> model, List< ? extends T> choices,
+		IChoiceRenderer<T> renderer)
 	{
-		this(id, model, new Model((Serializable)choices), renderer);
+		this(id, model, Model.valueOf(choices), renderer);
 	}
 
 
@@ -156,21 +161,22 @@
 	 *      java.lang.String, org.apache.wicket.model.IModel)
 	 */
 	@Override
-	protected FormComponent newEditor(MarkupContainer parent, String componentId, IModel model)
+	protected FormComponent<T> newEditor(MarkupContainer< ? > parent, String componentId,
+		IModel<T> model)
 	{
-		IModel choiceModel = new AbstractReadOnlyModel()
+		IModel<List< ? extends T>> choiceModel = new AbstractReadOnlyModel<List< ? extends T>>()
 		{
 
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public Object getObject()
+			public List< ? extends T> getObject()
 			{
 				return choices.getObject();
 			}
 
 		};
-		DropDownChoice editor = new DropDownChoice(componentId, model, choiceModel, renderer)
+		DropDownChoice<T> editor = new DropDownChoice<T>(componentId, model, choiceModel, renderer)
 		{
 			private static final long serialVersionUID = 1L;
 

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java Mon May  5 16:26:44 2008
@@ -279,7 +279,8 @@
 	 *            The model
 	 * @return The editor
 	 */
-	protected FormComponent<T> newEditor(MarkupContainer parent, String componentId, IModel<T> model)
+	protected FormComponent<T> newEditor(MarkupContainer< ? > parent, String componentId,
+		IModel<T> model)
 	{
 		TextField<T> editor = new TextField<T>(componentId, model)
 		{
@@ -510,7 +511,7 @@
 		// check that a model was found
 		if (m == null)
 		{
-			Component parent = getParent();
+			Component< ? > parent = getParent();
 			String msg = "No model found for this component, either pass one explicitly or "
 				+ "make sure an inheritable model is available.";
 			if (parent == null)

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java Mon May  5 16:26:44 2008
@@ -117,7 +117,8 @@
 	 *      java.lang.String, org.apache.wicket.model.IModel)
 	 */
 	@Override
-	protected FormComponent<T> newEditor(MarkupContainer parent, String componentId, IModel<T> model)
+	protected FormComponent<T> newEditor(MarkupContainer< ? > parent, String componentId,
+		IModel<T> model)
 	{
 		TextArea<T> editor = new TextArea<T>(componentId, model)
 		{

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java Mon May  5 16:26:44 2008
@@ -25,10 +25,11 @@
  * A variant of the {@link AjaxButton} that displays a busy indicator while the ajax request is in
  * progress.
  * 
+ * @param <T>
  * @author evan
  * 
  */
-public abstract class IndicatingAjaxButton extends AjaxButton implements IAjaxIndicatorAware
+public abstract class IndicatingAjaxButton<T> extends AjaxButton<T> implements IAjaxIndicatorAware
 {
 
 	/**
@@ -42,13 +43,14 @@
 	 * @param id
 	 * @param form
 	 */
-	public IndicatingAjaxButton(String id, Form form)
+	public IndicatingAjaxButton(String id, Form< ? > form)
 	{
 		super(id, form);
 		add(indicatorAppender);
 	}
 
-	protected abstract void onSubmit(AjaxRequestTarget target, Form form);
+	@Override
+	protected abstract void onSubmit(AjaxRequestTarget target, Form< ? > form);
 
 	/**
 	 * @see IAjaxIndicatorAware#getAjaxIndicatorMarkupId()

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java Mon May  5 16:26:44 2008
@@ -24,14 +24,16 @@
  * A variant of the {@link AjaxFallbackLink} that displays a busy indicator while the ajax request
  * is in progress.
  * 
+ * @param <T>
+ * 
  * @since 1.2
  * 
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public abstract class IndicatingAjaxFallbackLink extends AjaxFallbackLink
-		implements
-			IAjaxIndicatorAware
+public abstract class IndicatingAjaxFallbackLink<T> extends AjaxFallbackLink<T>
+	implements
+		IAjaxIndicatorAware
 {
 
 	/**
@@ -56,7 +58,7 @@
 	 * @param id
 	 * @param model
 	 */
-	public IndicatingAjaxFallbackLink(String id, IModel model)
+	public IndicatingAjaxFallbackLink(String id, IModel<T> model)
 	{
 		super(id, model);
 		add(indicatorAppender);

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxLink.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxLink.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxLink.java Mon May  5 16:26:44 2008
@@ -24,12 +24,14 @@
  * A variant of the {@link AjaxLink} that displays a busy indicator while the ajax request is in
  * progress.
  * 
+ * @param <T>
+ * 
  * @since 1.2
  * 
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public abstract class IndicatingAjaxLink extends AjaxLink implements IAjaxIndicatorAware
+public abstract class IndicatingAjaxLink<T> extends AjaxLink<T> implements IAjaxIndicatorAware
 {
 	/**
 	 * 
@@ -53,7 +55,7 @@
 	 * @param id
 	 * @param model
 	 */
-	public IndicatingAjaxLink(String id, IModel model)
+	public IndicatingAjaxLink(String id, IModel<T> model)
 	{
 		super(id, model);
 		add(indicatorAppender);

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxSubmitButton.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxSubmitButton.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxSubmitButton.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxSubmitButton.java Mon May  5 16:26:44 2008
@@ -23,10 +23,13 @@
  * A variant of the {@link AjaxSubmitButton} that displays a busy indicator while the ajax request
  * is in progress.
  * 
+ * @param <T>
+ * 
  * @author evan
  * @deprecated Use {@link IndicatingAjaxButton} instead.
  */
-public abstract class IndicatingAjaxSubmitButton extends IndicatingAjaxButton
+@Deprecated
+public abstract class IndicatingAjaxSubmitButton<T> extends IndicatingAjaxButton<T>
 {
 
 	/**
@@ -39,7 +42,7 @@
 	 * @param id
 	 * @param form
 	 */
-	public IndicatingAjaxSubmitButton(String id, Form form)
+	public IndicatingAjaxSubmitButton(String id, Form< ? > form)
 	{
 		super(id, form);
 	}

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/WicketAjaxIndicatorAppender.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/WicketAjaxIndicatorAppender.java?rev=653631&r1=653630&r2=653631&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/WicketAjaxIndicatorAppender.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/WicketAjaxIndicatorAppender.java Mon May  5 16:26:44 2008
@@ -45,7 +45,7 @@
 	/**
 	 * Component instance this behavior is bound to
 	 */
-	private Component component;
+	private Component< ? > component;
 
 	/**
 	 * 
@@ -63,6 +63,7 @@
 	/**
 	 * @see AbstractBehavior#renderHead(IHeaderResponse)
 	 */
+	@Override
 	public void renderHead(IHeaderResponse response)
 	{
 		super.renderHead(response);
@@ -70,7 +71,7 @@
 		if (AjaxRequestTarget.get() != null)
 		{
 			final String javascript = "var e = Wicket.$('" + getMarkupId() +
-					"'); if (e != null && typeof(e.parentNode) != 'undefined') e.parentNode.removeChild(e);";
+				"'); if (e != null && typeof(e.parentNode) != 'undefined') e.parentNode.removeChild(e);";
 
 			response.renderJavascript(javascript, null);
 		}
@@ -79,7 +80,8 @@
 	/**
 	 * @see org.apache.wicket.behavior.AbstractBehavior#onRendered(org.apache.wicket.Component)
 	 */
-	public void onRendered(Component component)
+	@Override
+	public void onRendered(Component< ? > component)
 	{
 		final Response r = component.getResponse();
 
@@ -124,7 +126,8 @@
 	/**
 	 * @see org.apache.wicket.behavior.AbstractBehavior#bind(org.apache.wicket.Component)
 	 */
-	public final void bind(Component component)
+	@Override
+	public final void bind(Component< ? > component)
 	{
 		this.component = component;
 	}