вам нужно реализовать CalendarDataModel и назначить его как dataModel для календаря. Вы можете отключить CalendarDataItem, если он не соответствует вашим условиям.
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.richfaces.model.CalendarDataModel;
import org.richfaces.model.CalendarDataModelItem;
@Name("richCalendarDataModel")
@BypassInterceptors
public class RichCalendarDataModel implements CalendarDataModel {
public CalendarDataModelItem[] getData(Date[] arg0) {
RichCalendarDataItem[] date = new RichCalendarDataItem[arg0.length];
int i = 0;
for (Date dd : arg0) {
RichCalendarDataItem tmp = new RichCalendarDataItem(dd, enable_disableDate(dd));
date[i] = tmp;
i++;
}
return date;
}
private boolean enable_disableDate(Date dd) {
if (!isSunday(dd))
return true;
else
return false;
}
public Object getToolTip(Date arg0) {
...
}
...
}
CalendarDataModelItem:
import java.util.Date;
import org.richfaces.model.CalendarDataModelItem;
public class RichCalendarDataItem implements CalendarDataModelItem {
private Date data;
private boolean enabled;
public RichCalendarDataItem(Date dd, boolean en) {
data = dd;
enabled = en;
}
public int getDay() {
return 0;
}
public Object getData() {
return data;
}
public String getStyleClass() {
return null;
}
public Object getToolTip() {
return null;
}
public boolean hasToolTip() {
return false;
}
public boolean isEnabled() {
return enabled;
}
}