1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.myfaces.commons.validator.model; 20 21 import java.util.List; 22 import java.util.Calendar; 23 import java.util.Date; 24 25 import javax.faces.context.FacesContext; 26 27 28 /** 29 * Defines the interface for providing a list of individual dates within a 30 * given range. This interface is used in date picker components 31 * (e.g. chooseDate, selectInputDate). 32 */ 33 public interface DateListProvider 34 { 35 /** 36 * This method will generate a {@link java.util.List List} of individual 37 * {@link java.util.Date Date} objects. This is often used to list the dates 38 * which will be rendered as disabled in a datePicker component. The {@link 39 * java.util.Date Date}s must be in the context of the given base {@link 40 * java.util.Calendar Calendar}. 41 * 42 * @param context The Faces context 43 * @param base The base {@link java.util.Calendar Calendar} object from which 44 * the start and end dates are taken. All returned 45 * {@link java.util.Date Date} objects should be gotten from this 46 * base by a series of {@link java.util.Calendar#set set} and 47 * {@link java.util.Calendar#getTime getTime} calls. 48 * @param rangeStart The start of the range for which dates are being 49 * requested. 50 * @param rangeEnd The end of the range for which dates are being requested. 51 */ 52 List<Date> getDateList(FacesContext context, 53 Calendar base, 54 Date rangeStart, 55 Date rangeEnd); 56 }