package org.appfuse.webapp.pages;
import org.appfuse.model.User;
import org.appfuse.service.UserManager;
import org.apache.wicket.model.LoadableDetachableModel;
/**
* A detachable model that can load an User object from persistent store.
*
* @author ivaynberg
*/
public class UserModel extends LoadableDetachableModel {
private UserManager userManager;
private Long id;
public UserModel(UserManager userManager) {
this.userManager = userManager;
}
/**
* @param user object this model will represent
* @param userManager the userManager
*/
public UserModel(User user, UserManager userManager) {
super(user);
this.id = user.getId();
this.userManager = userManager;
}
protected Object load() {
return userManager.getUser(String.valueOf(id));
}
}