Author: mgrigorov
Date: Sun Jul 25 14:21:26 2010
New Revision: 979041
URL: http://svn.apache.org/viewvc?rev=979041&view=rev
Log:
WICKET-2719 Extract lazy AbstractListDataProvider out of ListDataProvider.
Add a default constructor that initialize with an empty list. It becomes useful
for lazy loading providers that override #getData().
Use #getData() also in #size() to be in sync.
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java?rev=979041&r1=979040&r2=979041&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
Sun Jul 25 14:21:26 2010
@@ -17,6 +17,7 @@
package org.apache.wicket.markup.repeater.data;
import java.io.Serializable;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -25,8 +26,9 @@ import org.apache.wicket.model.Model;
/**
- * Allows the use of lists with dataview. The only requirement is that either
list items must be
- * serializable or model(Object) needs to be overridden to provide the proper
model implementation.
+ * Allows the use of lists with {...@link DataView}. The only requirement is
that either list items
+ * must be serializable or model(Object) needs to be overridden to provide the
proper model
+ * implementation.
*
* @author Igor Vaynberg ( ivaynberg )
* @param <T>
@@ -40,6 +42,14 @@ public class ListDataProvider<T extends
private final List<T> list;
/**
+ * Constructs an empty provider. Useful for lazy loading together with
{...@linkplain #getData()}
+ */
+ public ListDataProvider()
+ {
+ this(Collections.<T> emptyList());
+ }
+
+ /**
*
* @param list
* the list used as dataprovider for the dataview
@@ -84,7 +94,7 @@ public class ListDataProvider<T extends
*/
public int size()
{
- return list.size();
+ return getData().size();
}
/**