Package er.directtoweb.pages

Source Code of er.directtoweb.pages.ERD2WCalendarPage

/*
* Copyright (C) NetStruxr, Inc. All rights reserved.
*
* This software is published under the terms of the NetStruxr
* Public Software License version 0.5, a copy of which has been
* included with this distribution in the LICENSE.NPL file.  */
package er.directtoweb.pages;

import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.appserver.WODisplayGroup;
import com.webobjects.eocontrol.EOSortOrdering;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSTimestamp;

import er.extensions.components.ERXDateGrouper;

/**
* Superclass of all calendar list pages.<br />
* Note that they are not compatible with the NetStruxr version.
* Using a {@link ERXDateGrouper} as the display group, most of the logic is gone from this page.
*/

public class ERD2WCalendarPage extends ERD2WListPage {
  /**
   * 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;

    public ERD2WCalendarPage(WOContext c) {
        super(c);
    }

    @Override
    public WODisplayGroup displayGroup() {
        if(_displayGroup == null) {
            ERXDateGrouper grouper = new ERXDateGrouper();
            _displayGroup = grouper;
            NSArray sortOrderings = sortOrderings();
            if(sortOrderings.count() > 0) {
                Object o = sortOrderings.objectAtIndex(0);
                if(o instanceof EOSortOrdering) {
                    grouper.setDateKeyPath(((EOSortOrdering)o).key());
                }
            }
        }
        return super.displayGroup();
    }
   
    public ERXDateGrouper grouper() {
        return (ERXDateGrouper)displayGroup();
    }

    @Override
    public int numberOfObjectsPerBatch() {
        return 0// we want all the objects in one batch
    }

    public NSTimestamp selectedDate() {
        return grouper().selectedDate();
    }
    public void setSelectedDate(NSTimestamp value) {
        grouper().setSelectedDate(value);
        session().setObjectForKey(grouper().selectedDate(), "selectedDate");
    }

    public WOComponent selectDateAction() {
        setSelectedDate(selectedDate());
        return context().page();
    }
}
TOP

Related Classes of er.directtoweb.pages.ERD2WCalendarPage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.