did anyone reply to my suggestion of calling it LoadableModel?

Martijn Dashorst wrote:

No explicit meaning. If noone objects, go ahead.

Martijn

Eelco Hillenius wrote:



Any more votes?

Juergen Donnerstag wrote:



+1

Juergen

On 4/22/05, Eelco Hillenius <[EMAIL PROTECTED]> wrote:




Hi,

In project wicket-contrib-data, there is
TransientObjectDetachableModel.
I find this model very usefull, and think that this model (maybe with a
different name?) should be in wicket-core or wicket-extensions as in my
opinion the current way of making a custom detachable models is just
too
verbose.

It handles the case where you want to load an object when onAttach is
called, that object (transient) is returned on getObject, and onDetach,
the object is set to null again. In my implementation, there is only
one
method to implement (load) opposed to the multiple methods when
overriding AbstractDetachableModel.

An example of it's usage:

public final class HuidigeKlantModel extends
TransientObjectDetachableModel
{
 protected Object load()
 {
     FmoDemoSession session = (FmoDemoSession)WebSession.get();
     return session.getHuidigeKlant();
 }
}

And this is the implementation:

import wicket.Component;
import wicket.model.AbstractDetachableModel;

/**
* Model that makes working with detachable models a breeze again.
* Holds a temporary, transient model object, that is set on 'onAttach'
by calling
* abstract method 'load', and that will be reset/ set to null on
'onDetach'.
*
* A usage example:
* <pre>
* TransientObjectDetachableModel venueListModel = new
TransientObjectDetachableModel()
* {
*   protected Object load()
*   {
*      return getVenueDao().findVenues();
*   }
* };
* </pre>
*
* @author Eelco Hillenius
*/
public abstract class TransientObjectDetachableModel extends
AbstractDetachableModel
{
 /** temporary, transient object. */
 private transient Object tempModelObject;

 /**
  * Construct.
  */
 public TransientObjectDetachableModel()
 {
     super();
 }

 /**
  * @see wicket.model.AbstractDetachableModel#onAttach()
  */
 protected final void onAttach()
 {
     this.setObject(load());
 }

 /**
  * Loads and returns the (temporary) model object.
  * @return the (temporary) model object
  */
 protected abstract Object load();

 /**
  * @see wicket.model.AbstractDetachableModel#onDetach()
  */
 protected final void onDetach()
 {
     tempModelObject = null;
 }

 /**
  * @see
wicket.model.AbstractDetachableModel#onGetObject(wicket.Component)
  */
 protected final Object onGetObject(Component component)
 {
     return tempModelObject;
 }

 /**
  * Sets the object.
  * @param object the object
  */
 protected final void setObject(Object object)
 {
     setObject(null, object);
 }

 /**
  * @see
wicket.model.AbstractDetachableModel#onSetObject(wicket.Component,
java.lang.Object)
  */
 protected final void onSetObject(Component component, Object object)
 {
     this.tempModelObject = object;
 }

 /**
  * @see wicket.model.IModel#getNestedModel()
  */
 public final Object getNestedModel()
 {
     return tempModelObject;
 }
}

Votes please?

Eelco

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real
users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop




------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop





------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop






------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop





-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to