package er.directtoweb.components.buttons; import java.util.Enumeration; import org.apache.log4j.Logger; import com.webobjects.appserver.WOComponent; import com.webobjects.appserver.WOContext; import com.webobjects.eocontrol.EOQualifier; import com.webobjects.foundation.NSArray; import com.webobjects.foundation.NSMutableArray; import er.directtoweb.interfaces.ERDPickPageInterface; /** * Class for DirectToWeb Component ERDSelectAllButton. * * @binding sample sample binding explanation * @d2wKey sample sample d2w key * * @author ak on Fri Sep 05 2003 */ public class ERDSelectAllButton extends ERDActionButton { /** * Do I need to update serialVersionUID? * See section 5.6 <cite>Type Changes Affecting Serialization</cite> on page 51 of the * <a href="http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf">Java Object Serialization Spec</a> */ private static final long serialVersionUID = 1L; /** logging support */ private static final Logger log = Logger.getLogger(ERDSelectAllButton.class); /** * Public constructor * @param context the context */ public ERDSelectAllButton(WOContext context) { super(context); } /** Utility to return the enclosing pick page, if there is one. */ @Override protected ERDPickPageInterface parentPickPage() { return (ERDPickPageInterface)enclosingPageOfClass(ERDPickPageInterface.class); } /** Selects all objects. */ public WOComponent selectAllAction() { ERDPickPageInterface parent = parentPickPage(); if(parent != null) { NSMutableArray selectedObjects = new NSMutableArray(); NSArray list = displayGroup().allObjects(); if(displayGroup().qualifier() != null) { list = EOQualifier.filteredArrayWithQualifier(list, displayGroup().qualifier()); } for (Enumeration e=list.objectEnumerator();e.hasMoreElements();) { selectedObjects.addObject(e.nextElement()); } parent.setSelectedObjects(selectedObjects); } return null; } }