CVS: TapestryBook/examples/src/examples/todo4 ToDoItem4.java,NONE,1.1 ToDo4.java,NONE,1.1
Howard Lewis Ship <[email protected]> Sun, 25 May 2003 14:27:34 -0700
| Newsgroups | gmane.comp.java.tapestry.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tapestry/TapestryBook/examples/src/examples/todo4
In directory sc8-pr-cvs1:/tmp/cvs-serv25467/examples/src/examples/todo4
Added Files:
ToDoItem4.java ToDo4.java
Log Message:
Update docs based on lengthy revisions.
--- NEW FILE: ToDoItem4.java ---
package examples.todo4;
import examples.todo3.ToDoItem3;
public class ToDoItem4 extends ToDoItem3
{
private static int _nextuid = 0;
private int _uid = _nextuid++;
public ToDoItem4()
{
super();
}
public ToDoItem4(String title)
{
super(title);
}
public int getUid()
{
return _uid;
}
}
--- NEW FILE: ToDo4.java ---
package examples.todo4;
import java.util.List;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.PageRedirectException;
import org.apache.tapestry.event.PageEvent;
import org.apache.tapestry.form.ListEditMap;
import examples.todo1.ToDoItem;
import examples.todo3.ToDo3;
public abstract class ToDo4 extends ToDo3
{
public abstract void setErrorMessage(String message);
public abstract void setListEditMap(ListEditMap listEditMap);
public abstract ListEditMap getListEditMap();
public abstract void setItem(ToDoItem item);
protected ToDoItem createNewItem(String title)
{
return new ToDoItem4(title);
}
public void pageBeginRender(PageEvent event)
{
super.pageBeginRender(event);
// Construct a ListEditMap with all the current items.
ListEditMap map = new ListEditMap();
List items = getToDoList();
int count = items.size();
for (int i = 0; i < count; i++)
{
ToDoItem4 item = (ToDoItem4) items.get(i);
int uid = item.getUid();
map.add(new Integer(uid), item);
}
setListEditMap(map);
}
public void synchronizeItem(IRequestCycle cycle)
{
ListEditMap map = getListEditMap();
ToDoItem item = (ToDoItem) map.getValue();
if (item == null)
{
setErrorMessage("Your form submission is out of date. Please retry.");
throw new PageRedirectException(this);
}
setItem(item);
}
}
-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge