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 2013/05/03 10:58:39 UTC

[20/27] git commit: WICKET-5173 Make ThrottlingSettings mutable

WICKET-5173 Make ThrottlingSettings mutable


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

Branch: refs/heads/wicket-4774
Commit: 2ddf76fab2b4b4a4ff79af18d10638e01b243adb
Parents: b11bb19
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 20:56:56 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 20:56:56 2013 +0200

----------------------------------------------------------------------
 .../wicket/ajax/attributes/ThrottlingSettings.java |   28 ++++++++++----
 1 files changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2ddf76fa/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java b/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
index a737cfe..df830da 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
@@ -17,6 +17,7 @@
 package org.apache.wicket.ajax.attributes;
 
 import org.apache.wicket.util.io.IClusterable;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.time.Duration;
 
 /**
@@ -28,9 +29,9 @@ public class ThrottlingSettings implements IClusterable
 {
 	private static final long serialVersionUID = 1L;
 
-	private final Duration delay;
+	private Duration delay;
 	private final String id;
-	private final boolean postponeTimerOnUpdate;
+	private boolean postponeTimerOnUpdate;
 
 	/**
 	 * Construct.
@@ -47,24 +48,29 @@ public class ThrottlingSettings implements IClusterable
 	 * Construct.
 	 *
 	 * @param id    throttle id
-	 * @param delay throttle delay
+	 * @param delay the amount of time the action should be postponed
 	 * @param postponeTimerOnUpdate postpone timer
 	 */
 	public ThrottlingSettings(final String id, final Duration delay, final boolean postponeTimerOnUpdate)
 	{
-		this.id = id;
-		this.delay = delay;
+		this.id = Args.notNull(id, "id");
+		this.delay = Args.notNull(delay, "delay");
 		this.postponeTimerOnUpdate = postponeTimerOnUpdate;
 	}
 
 	/**
-	 * @return throttle delay
+	 * @return the amount of time the action should be postponed
 	 */
 	public Duration getDelay()
 	{
 		return delay;
 	}
 
+	public void setDelay(Duration delay)
+	{
+		this.delay = Args.notNull(delay, "delay");
+	}
+
 	/**
 	 * @return throttle id
 	 */
@@ -76,10 +82,16 @@ public class ThrottlingSettings implements IClusterable
 	/**
 	 * If it is set to true, then the timer is reset each time the throttle function
 	 * gets called. Use this behaviour if you want something to happen at X milliseconds
-	 * after the *last* call to throttle. If the parameter is not set, or set to false,
+	 * after the <strong>last</strong> call to throttle. If the parameter is not set, or set to false,
 	 * then the timer is not reset.
 	 */
 	public boolean getPostponeTimerOnUpdate() {
 		return postponeTimerOnUpdate;
 	}
-}
\ No newline at end of file
+
+	public void setPostponeTimerOnUpdate(boolean postponeTimerOnUpdate)
+	{
+		this.postponeTimerOnUpdate = postponeTimerOnUpdate;
+	}
+
+}