Author: ivaynberg Date: Thu Jul 17 09:31:56 2008 New Revision: 677632 URL: http://svn.apache.org/viewvc?rev=677632&view=rev Log: model cleanup
Added: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/AbstractCollectionModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModelBase.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/CollectionModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/ListModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ListModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/MapModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/MapModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/SetModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/SetModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardCollectionModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardCollectionModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardListModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardListModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardSetModel.java - copied, changed from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardSetModel.java Removed: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModelBase.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ListModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/MapModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/SetModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardCollectionModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardListModel.java wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardSetModel.java Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/Model.java Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/Model.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/Model.java?rev=677632&r1=677631&r2=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/Model.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/Model.java Thu Jul 17 09:31:56 2008 @@ -25,14 +25,18 @@ import org.apache.wicket.Component; import org.apache.wicket.WicketRuntimeException; +import org.apache.wicket.model.util.MapModel; +import org.apache.wicket.model.util.WildcardCollectionModel; +import org.apache.wicket.model.util.WildcardListModel; +import org.apache.wicket.model.util.WildcardSetModel; import org.apache.wicket.util.lang.Objects; /** - * <code>Model</code> is the basic implementation of an <code>IModel</code>. It just wraps a - * simple model object. The model object must be serializable, as it is stored in the session. If - * you have large objects to store, consider using - * [EMAIL PROTECTED] org.apache.wicket.model.LoadableDetachableModel} instead of this class. + * <code>Model</code> is the basic implementation of an <code>IModel</code>. It just wraps a simple + * model object. The model object must be serializable, as it is stored in the session. If you have + * large objects to store, consider using [EMAIL PROTECTED] org.apache.wicket.model.LoadableDetachableModel} + * instead of this class. * * @author Chris Turner * @author Eelco Hillenius @@ -66,25 +70,29 @@ } /** + * @param <K> + * type of key inside map + * @param <V> + * type of value inside map * @param map * The Map, which may or may not be Serializable * @deprecated see [EMAIL PROTECTED] Model#of(Map)} * @return A Model object wrapping the Map */ - @SuppressWarnings("unchecked") @Deprecated - public static <K, V> IModel<Map<K, V>> valueOf(final Map<K, V> map) + public static <K, V> IModel<Map<K, V>> valueOf(final Map<K, V> map) { - return of(map); + return of(map); } /** + * @param <C> + * type of object inside list * @param list * The List, which may or may not be Serializable * @deprecated see [EMAIL PROTECTED] Model#of(List)} * @return A Model object wrapping the List */ - @SuppressWarnings("unchecked") @Deprecated public static <C> IModel<List<? extends C>> valueOf(final List<? extends C> list) { @@ -101,10 +109,9 @@ * The List, which may or may not be Serializable * @return A Model object wrapping the List */ - @SuppressWarnings("unchecked") public static <C> IModel<List<? extends C>> of(final List<? extends C> list) { - return new WildcardListModel<C>(list); + return new WildcardListModel<C>(list); } /** @@ -119,41 +126,40 @@ * The Map, which may or may not be Serializable * @return A Model object wrapping the Map */ - @SuppressWarnings("unchecked") public static <K, V> IModel<Map<K, V>> of(final Map<K, V> map) { - return new MapModel<K,V>(map); + return new MapModel<K, V>(map); } /** * Factory method for models that contain sets. This factory method will automatically rebuild a * nonserializable <code>set</code> into a serializable one. + * * @param <C> * model type * @param set * The Set, which may or may not be Serializable * @return A Model object wrapping the Set */ - @SuppressWarnings("unchecked") public static <C> IModel<Set<? extends C>> of(final Set<? extends C> set) { - return new WildcardSetModel<C>(set); + return new WildcardSetModel<C>(set); } /** * Factory method for models that contain collections. This factory method will automatically * rebuild a nonserializable <code>collection</code> into a serializable [EMAIL PROTECTED] ArrayList}. + * * @param <C> * model type * @param set * The Collection, which may or may not be Serializable * @return A Model object wrapping the Set */ - @SuppressWarnings("unchecked") public static <C> IModel<Collection<? extends C>> of(final Collection<? extends C> set) { - return new WildcardCollectionModel<C>(set); + return new WildcardCollectionModel<C>(set); } Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/AbstractCollectionModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModelBase.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/AbstractCollectionModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/AbstractCollectionModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModelBase.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModelBase.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/AbstractCollectionModel.java Thu Jul 17 09:31:56 2008 @@ -15,88 +15,104 @@ * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.io.Serializable; +import org.apache.wicket.model.IDetachable; +import org.apache.wicket.model.IModel; import org.apache.wicket.util.lang.Objects; /** + * Base class for models that contain collection instances. Makes sure that the object set into the + * model is stored in a collection that can be serialized. + * * @author Timo Rantalaiho + * @param <T> + * type of model object */ -public abstract class CollectionModelBase<T> implements IModel<T> +public abstract class AbstractCollectionModel<T> implements IModel<T> { - private static final long serialVersionUID = 1L; - private T object; - - /** - * @see org.apache.wicket.model.IModel#getObject() - */ - public T getObject() - { - return object; - } - - /** - * Set the model object. The contents must be - * serializable, as they are stored in the session - * - * @param object the model object - * @see org.apache.wicket.model.IModel#setObject(Object) - */ - public void setObject(T object) - { - if (!(object instanceof Serializable)) - { - object = createSerializableVersionOf(object); - } - this.object = object; - } - - protected abstract T createSerializableVersionOf(T object); - - /** - * @see org.apache.wicket.model.IDetachable#detach() - */ - public void detach() - { - if (object instanceof IDetachable) - { - ((IDetachable) object).detach(); - } - } - - /** - * @see Object#toString() - */ - @Override - public String toString() - { - StringBuffer sb = new StringBuffer("Model:classname=["); - sb.append(getClass().getName()).append("]"); - sb.append(":object=[").append(object).append("]"); - return sb.toString(); - } - - @Override - public int hashCode() - { - return Objects.hashCode(object); - } - - @Override - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - - } - if (!(obj instanceof CollectionModelBase)) - { - return false; - } - CollectionModelBase<?> that = (CollectionModelBase<?>) obj; - return Objects.equal(object, that.object); - } + private static final long serialVersionUID = 1L; + /** model object */ + private T object; + + /** + * @see org.apache.wicket.model.IModel#getObject() + */ + public T getObject() + { + return object; + } + + /** + * Set the model object. The contents must be serializable, as they are stored in the session + * + * @param object + * the model object + * @see org.apache.wicket.model.IModel#setObject(Object) + */ + public void setObject(T object) + { + if (!(object instanceof Serializable)) + { + object = createSerializableVersionOf(object); + } + this.object = object; + } + + /** + * Creates a serializable version of the object. The object is usually a collection. + * + * @param object + * @return serializable version of <code>object</code> + */ + protected abstract T createSerializableVersionOf(T object); + + /** + * @see org.apache.wicket.model.IDetachable#detach() + */ + public void detach() + { + if (object instanceof IDetachable) + { + ((IDetachable)object).detach(); + } + } + + /** + * @see Object#toString() + */ + @Override + public String toString() + { + StringBuffer sb = new StringBuffer("Model:classname=["); + sb.append(getClass().getName()).append("]"); + sb.append(":object=[").append(object).append("]"); + return sb.toString(); + } + + /** [EMAIL PROTECTED] */ + @Override + public int hashCode() + { + return Objects.hashCode(object); + } + + /** [EMAIL PROTECTED] */ + @Override + public boolean equals(Object obj) + { + if (this == obj) + { + return true; + + } + if (!(obj instanceof AbstractCollectionModel)) + { + return false; + } + AbstractCollectionModel<?> that = (AbstractCollectionModel<?>)obj; + return Objects.equal(object, that.object); + } } Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/CollectionModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModel.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/CollectionModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/CollectionModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModel.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/CollectionModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/CollectionModel.java Thu Jul 17 09:31:56 2008 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.util.ArrayList; import java.util.Collection; @@ -22,24 +22,38 @@ /** * Based on <code>Model</code> but for any collections of serializable objects. - * + * * @author Timo Rantalaiho + * @param <T> + * type of object inside collection */ -public class CollectionModel<T> extends CollectionModelBase<Collection<T>> +public class CollectionModel<T> extends AbstractCollectionModel<Collection<T>> { - public CollectionModel() - { - } - - public CollectionModel(Collection<T> object) - { - setObject(object); - } + private static final long serialVersionUID = 1L; - - @Override - protected Collection<T> createSerializableVersionOf(Collection<T> object) - { - return new ArrayList<T>(object); - } + /** + * Creates empty model + */ + public CollectionModel() + { + } + + /** + * Creates model that will contain <code>collection</code> + * + * @param collection + * + */ + public CollectionModel(Collection<T> collection) + { + setObject(collection); + } + + + /** [EMAIL PROTECTED] */ + @Override + protected Collection<T> createSerializableVersionOf(Collection<T> object) + { + return new ArrayList<T>(object); + } } \ No newline at end of file Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/ListModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ListModel.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/ListModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/ListModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ListModel.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ListModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/ListModel.java Thu Jul 17 09:31:56 2008 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.util.ArrayList; import java.util.List; @@ -22,24 +22,37 @@ /** * Based on <code>Model</code> but for lists of serializable objects. - * + * * @author Timo Rantalaiho + * @param <T> + * type of object inside list */ -public class ListModel<T> extends CollectionModelBase<List<T>> +public class ListModel<T> extends AbstractCollectionModel<List<T>> { - public ListModel() - { - } - - public ListModel(List<T> object) - { - setObject(object); - } + private static final long serialVersionUID = 1L; - - @Override - protected List<T> createSerializableVersionOf(List<T> object) - { - return new ArrayList<T>(object); - } + /** + * Creates empty model + */ + public ListModel() + { + } + + /** + * Creates model that will contain <code>list</code> + * + * @param list + */ + public ListModel(List<T> list) + { + setObject(list); + } + + + /** [EMAIL PROTECTED] */ + @Override + protected List<T> createSerializableVersionOf(List<T> object) + { + return new ArrayList<T>(object); + } } \ No newline at end of file Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/MapModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/MapModel.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/MapModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/MapModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/MapModel.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/MapModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/MapModel.java Thu Jul 17 09:31:56 2008 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.util.HashMap; import java.util.Map; @@ -22,23 +22,38 @@ /** * Based on <code>Model</code> but for mapss of serializable objects. - * + * * @author Timo Rantalaiho + * @param <K> + * map's key type + * @param <V> + * map's value type */ -public class MapModel<K,V> extends CollectionModelBase<Map<K,V>> +public class MapModel<K, V> extends AbstractCollectionModel<Map<K, V>> { - public MapModel() - { - } - - public MapModel(Map<K,V> object) - { - setObject(object); - } - - @Override - protected Map<K, V> createSerializableVersionOf(Map<K, V> object) - { - return new HashMap<K,V>(object); - } + private static final long serialVersionUID = 1L; + + /** + * Creates empty model + */ + public MapModel() + { + } + + /** + * Creates model that will contain <code>map</code> + * + * @param map + */ + public MapModel(Map<K, V> map) + { + setObject(map); + } + + /** [EMAIL PROTECTED] */ + @Override + protected Map<K, V> createSerializableVersionOf(Map<K, V> object) + { + return new HashMap<K, V>(object); + } } \ No newline at end of file Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/SetModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/SetModel.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/SetModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/SetModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/SetModel.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/SetModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/SetModel.java Thu Jul 17 09:31:56 2008 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.util.HashSet; import java.util.Set; @@ -22,24 +22,37 @@ /** * Based on <code>Model</code> but for sets of serializable objects. - * + * * @author Timo Rantalaiho + * @param <T> + * type of object inside set */ -public class SetModel<T> extends CollectionModelBase<Set<T>> +public class SetModel<T> extends AbstractCollectionModel<Set<T>> { - public SetModel() - { - } - - public SetModel(Set<T> object) - { - setObject(object); - } + private static final long serialVersionUID = 1L; - - @Override - protected Set<T> createSerializableVersionOf(Set<T> object) - { - return new HashSet<T>(object); - } + /** + * Creates empty model + */ + public SetModel() + { + } + + /** + * Creates model that will contain <code>set</code> + * + * @param set + */ + public SetModel(Set<T> set) + { + setObject(set); + } + + + /** [EMAIL PROTECTED] */ + @Override + protected Set<T> createSerializableVersionOf(Set<T> object) + { + return new HashSet<T>(object); + } } \ No newline at end of file Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardCollectionModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardCollectionModel.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardCollectionModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardCollectionModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardCollectionModel.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardCollectionModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardCollectionModel.java Thu Jul 17 09:31:56 2008 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.util.ArrayList; import java.util.Collection; @@ -22,24 +22,36 @@ /** * Based on <code>Model</code> but for any collections of serializable objects. - * + * * @author Timo Rantalaiho + * @param <T> + * type of object inside collection */ -public class WildcardCollectionModel<T> extends CollectionModelBase<Collection<? extends T>> +public class WildcardCollectionModel<T> extends AbstractCollectionModel<Collection<? extends T>> { - public WildcardCollectionModel() - { - } - - public WildcardCollectionModel(Collection<? extends T> object) - { - setObject(object); - } + private static final long serialVersionUID = 1L; - - @Override - protected Collection<? extends T> createSerializableVersionOf(Collection<? extends T> object) - { - return new ArrayList<T>(object); - } + /** + * Creates empty model + */ + public WildcardCollectionModel() + { + } + + /** + * Creates model that will contain <code>collection</code> + * + * @param collection + */ + public WildcardCollectionModel(Collection<? extends T> collection) + { + setObject(collection); + } + + /** [EMAIL PROTECTED] */ + @Override + protected Collection<? extends T> createSerializableVersionOf(Collection<? extends T> object) + { + return new ArrayList<T>(object); + } } \ No newline at end of file Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardListModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardListModel.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardListModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardListModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardListModel.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardListModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardListModel.java Thu Jul 17 09:31:56 2008 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.util.ArrayList; import java.util.List; @@ -22,24 +22,37 @@ /** * Based on <code>Model</code> but for lists of serializable objects. - * + * * @author Timo Rantalaiho + * @param <T> + * type of object inside list */ -public class WildcardListModel<T> extends CollectionModelBase<List<? extends T>> +public class WildcardListModel<T> extends AbstractCollectionModel<List<? extends T>> { - public WildcardListModel() - { - } - - public WildcardListModel(List<? extends T> object) - { - setObject(object); - } + private static final long serialVersionUID = 1L; - - @Override - protected List<? extends T> createSerializableVersionOf(List<? extends T> object) - { - return new ArrayList<T>(object); - } + /** + * Creates empty model + */ + public WildcardListModel() + { + } + + /** + * Creates model that will contain <code>list</code> + * + * @param list + * + */ + public WildcardListModel(List<? extends T> list) + { + setObject(list); + } + + /** [EMAIL PROTECTED] */ + @Override + protected List<? extends T> createSerializableVersionOf(List<? extends T> object) + { + return new ArrayList<T>(object); + } } \ No newline at end of file Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardSetModel.java (from r677623, wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardSetModel.java) URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardSetModel.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardSetModel.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardSetModel.java&r1=677623&r2=677632&rev=677632&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/WildcardSetModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/util/WildcardSetModel.java Thu Jul 17 09:31:56 2008 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.wicket.model; +package org.apache.wicket.model.util; import java.util.HashSet; import java.util.Set; @@ -22,24 +22,36 @@ /** * Based on <code>Model</code> but for sets of serializable objects. - * + * * @author Timo Rantalaiho + * @param <T> + * type of object inside set */ -public class WildcardSetModel<T> extends CollectionModelBase<Set<? extends T>> +public class WildcardSetModel<T> extends AbstractCollectionModel<Set<? extends T>> { - public WildcardSetModel() - { - } - - public WildcardSetModel(Set<? extends T> object) - { - setObject(object); - } + private static final long serialVersionUID = 1L; - - @Override - protected Set<? extends T> createSerializableVersionOf(Set<? extends T> object) - { - return new HashSet<T>(object); - } + /** + * Creates empty model + */ + public WildcardSetModel() + { + } + + /** + * Creates model that will contain <code>set</code> + * + * @param set + */ + public WildcardSetModel(Set<? extends T> set) + { + setObject(set); + } + + /** [EMAIL PROTECTED] */ + @Override + protected Set<? extends T> createSerializableVersionOf(Set<? extends T> object) + { + return new HashSet<T>(object); + } } \ No newline at end of file