⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendarpage.java

📁 hibernate quickly 一书的各章节源代码
💻 JAVA
字号:
package com.manning.hq.ch08.tapestry;

import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.IRequestCycle;

import java.util.List;
import java.util.Calendar;
import java.text.SimpleDateFormat;

import com.manning.hq.ch08.CalendarModel;
import com.manning.hq.ch08.CalendarDay;
import com.manning.hq.ch08.Event;
import com.manning.hq.ch08.DateUtils;

/**
 *
 */
public class CalendarPage extends BasePage {
    private List row;
    private CalendarDay day;
    private Event event;
    private int month;
    private int year;
    private int previousMonth;
    private int previousYear;
    private int nextMonth;
    private int nextYear;
    private CalendarModel model;

    public CalendarPage() {
        Calendar thisMonth = Calendar.getInstance();
        month = thisMonth.get(Calendar.MONTH);
        year = thisMonth.get(Calendar.YEAR);
        storeNextMonth();
        storePreviousMonth();
    }
//*********************************************************************************************************************
//* Accessed by HTML template for iteration
//*********************************************************************************************************************
    public List getRow() { return row; }
    public void setRow(List row) { this.row = row; }

    public CalendarDay getDay() { return day; }
    public void setDay(CalendarDay day) { this.day = day; }

    public Event getEvent() { return event; }
    public void setEvent(Event event) { this.event = event; }
//*********************************************************************************************************************
//* Accessed by HTML page for links
//*********************************************************************************************************************
    public int getPreviousMonth() { return previousMonth; }
    public int getPreviousYear() { return previousYear; }
    public int getNextMonth() { return nextMonth; }
    public int getNextYear() { return nextYear; }

    public String getFormattedDate(){
        SimpleDateFormat f = new SimpleDateFormat("MMMM yyyy");
        return f.format(getCalendarModel().getDate());
    }
    public CalendarModel getCalendarModel(){
        if(model == null){
            loadModel();
        }
        return model;
    }

    private void loadModel() {
        com.manning.hq.ch08.tapestry.EventManager manager = (com.manning.hq.ch08.tapestry.EventManager) getVisit();
        List eventsFor = manager.findEventsFor(month, year);
        model = new CalendarModel(month, year);
        model.setEvents(eventsFor);
    }

    public void link(IRequestCycle cycle){
        Object[] params = cycle.getServiceParameters();
        month = ((Integer) params[0]).intValue();
        year = ((Integer) params[1]).intValue();

        loadModel();
        storeNextMonth();
        storePreviousMonth();
    }

    private void storePreviousMonth() {
        Calendar previous = DateUtils.createCalendarMonth(month - 1, 1, year);
        previousMonth = previous.get(Calendar.MONTH);
        previousYear = previous.get(Calendar.YEAR);
    }

    private void storeNextMonth() {
        Calendar next = DateUtils.createCalendarMonth(month + 1, 1, this.year);
        nextMonth = next.get(Calendar.MONTH);
        nextYear = next.get(Calendar.YEAR);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -