You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/12/04 08:57:17 UTC

svn commit: r887090 - /wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java

Author: ivaynberg
Date: Fri Dec  4 07:57:13 2009
New Revision: 887090

URL: http://svn.apache.org/viewvc?rev=887090&view=rev
Log:
WICKET-2364 Make LoadableDetachableModel writable
Issue: WICKET-2364

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java?rev=887090&r1=887089&r2=887090&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java Fri Dec  4 07:57:13 2009
@@ -51,7 +51,7 @@
  * @param <T>
  *            The Model Object type
  */
-public abstract class LoadableDetachableModel<T> extends AbstractReadOnlyModel<T>
+public abstract class LoadableDetachableModel<T> implements IModel<T>
 {
 	/**
 	 * 
@@ -90,7 +90,6 @@
 	/**
 	 * @see org.apache.wicket.model.IDetachable#detach()
 	 */
-	@Override
 	public void detach()
 	{
 		if (attached)
@@ -113,7 +112,6 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	@Override
 	public T getObject()
 	{
 		if (!attached)
@@ -176,4 +174,19 @@
 	protected void onDetach()
 	{
 	}
+
+
+	/**
+	 * Manually loads the model with the specified object. Subsequent calls to {@link #getObject()}
+	 * will return {@code object} until {@link #detach()} is called.
+	 * 
+	 * @param object
+	 *            The object to set into the model
+	 */
+	public void setObject(final T object)
+	{
+		attached = true;
+		transientModelObject = object;
+	}
+
 }