/* * 作成日: 2005/06/16 * */ package pwv.spring.dao; import java.util.List; import pwv.spring.edbutil.EDbutilTemplate; import pwv.spring.edbutil.IEProperties; import pwv.spring.model.Member; import pwv.spring.model.Order; import pwv.spring.model.OrderItem; /** * OrderProperties * * @author Hiroshi TAKEMOTO */ public class OrderProperties implements IEProperties { /* (非 Javadoc) * @see pwv.spring.edbutil.IEProperties#getSupportClsName() */ public String getSupportClsName() { return Order.class.getName(); } /* (非 Javadoc) * @see pwv.spring.edbutil.IEProperties#loadProperties(pwv.spring.edbutil.EDbutilTemplate, java.lang.Object) */ public void loadProperties(EDbutilTemplate template, Object obj) { Order order = (Order)obj; if (order.getMemberRef() != null && order.getMember() == null) { order.setMember((Member)template.loadObject(Member.class, order.getMemberRef())); } order.setItems(template.selectObjects(OrderItem.class, "WHERE orderRef=" + order.getId())); } /* (非 Javadoc) * @see pwv.spring.edbutil.IEProperties#insertProperties(pwv.spring.edbutil.EDbutilTemplate, java.lang.Object) */ public void insertProperties(EDbutilTemplate template, Object obj) { Order order = (Order)obj; if (order.getMemberRef() == null && order.getMember() != null) { if (order.getMember().getId() == null) { template.insertObject(order.getMember()); } order.setMemberRef(order.getMember().getId()); } List items = order.getItems(); if (items != null) { for (int i = 0; i < items.size(); i++) { OrderItem item = (OrderItem)items.get(i); if (item.getId() == null) { item.setOrderRef(order.getId()); template.insertObject(item); } } } } /* (非 Javadoc) * @see pwv.spring.edbutil.IEProperties#printProperties(pwv.spring.edbutil.EDbutilTemplate, java.lang.Object) */ public String printProperties(EDbutilTemplate template, Object obj) { Order order = (Order)obj; StringBuffer buf = new StringBuffer(); buf.append(" { "); if (order.getMember() != null) { buf.append(template.printObject(order.getMember())); } buf.append(", [ "); List items = order.getItems(); if (items != null) { for (int i = 0; i < items.size(); i++) { buf.append(template.printObject(items.get(i))); } } buf.append(" ] "); buf.append(" } "); return buf.toString(); } }