1 /* 2 * Copyright (c) 2002-2014, Mairie de Paris 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * 1. Redistributions of source code must retain the above copyright notice 10 * and the following disclaimer. 11 * 12 * 2. Redistributions in binary form must reproduce the above copyright notice 13 * and the following disclaimer in the documentation and/or other materials 14 * provided with the distribution. 15 * 16 * 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its 17 * contributors may be used to endorse or promote products derived from 18 * this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE 24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 * POSSIBILITY OF SUCH DAMAGE. 31 * 32 * License 1.0 33 */ 34 package fr.paris.lutece.plugins.calendar.business; 35 36 import java.io.Serializable; 37 import java.util.Date; 38 import java.util.List; 39 import java.util.Locale; 40 41 42 /** 43 * This interface describes the minimum implementation for agendas 44 */ 45 public interface Agenda extends Serializable 46 { 47 /** 48 * Indicates if the agenda gets events for a given date 49 * @param strDate A date code 50 * @return True if there is events, otherwise false 51 */ 52 boolean hasEvents( String strDate ); 53 54 /** 55 * Retrieves events for a given date 56 * @param strDate A date code 57 * @return A list of events 58 */ 59 List<Event> getEventsByDate( String strDate ); 60 61 /** 62 * Retrieves events for a given date 63 * @param dateBegin The start date 64 * @param dateEnd The end date 65 * @param localeEnv The locale 66 * @return A list of events 67 */ 68 List<Event> getEventsByDate( Date dateBegin, Date dateEnd, Locale localeEnv ); 69 70 /** 71 * Retrieves all events of the agenda 72 * @return A list of events 73 */ 74 List<Event> getEvents( ); 75 76 /** 77 * Returns the name of the Agenda 78 * @return The agenda's name 79 */ 80 String getName( ); 81 82 /** 83 * Sets the name of the Agenda 84 * @param strName The agenda's name 85 */ 86 void setName( String strName ); 87 88 /** 89 * Returns the key of the Agenda 90 * @return The agenda's key 91 */ 92 String getKeyName( ); 93 94 /** 95 * Sets the key of the Agenda 96 * @param strKeyName The agenda's key name 97 */ 98 void setKeyName( String strKeyName ); 99 }