1 /* 2 * Copyright (c) 2002-2021, City of 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.referencelist.business; 35 36 import fr.paris.lutece.portal.service.plugin.Plugin; 37 import fr.paris.lutece.util.ReferenceList; 38 import java.util.List; 39 40 /** 41 * IReferenceItemDAO Interface 42 */ 43 public interface IReferenceItemDAO 44 { 45 /** 46 * Insert a new record in the table. 47 * 48 * @param referenceItem 49 * instance of the ReferenceItem object to insert 50 * @param plugin 51 * the Plugin 52 */ 53 void insert( ReferenceItem referenceItem, Plugin plugin ); 54 55 /** 56 * Update the record in the table 57 * 58 * @param referenceItem 59 * the reference of the ReferenceItem 60 * @param plugin 61 * the Plugin 62 */ 63 void store( ReferenceItem referenceItem, Plugin plugin ); 64 65 /** 66 * Delete a record from the table 67 * 68 * @param nKey 69 * The identifier of the ReferenceItem to delete 70 * @param plugin 71 * the Plugin 72 */ 73 void delete( int nKey, Plugin plugin ); 74 75 /** 76 * Deletes the records associated to a Reference 77 * 78 * @param nIdReference 79 * The Reference identifier of the Reference Items to delete 80 * @param plugin 81 */ 82 void deleteAll( int nIdReference, Plugin plugin ); 83 84 // ///////////////////////////////////////////////////////////////////////// 85 // Finders 86 87 /** 88 * Load the data from the table 89 * 90 * @param nIdReference 91 * The identifier of the reference of referenceitems 92 * @param sItemName 93 * The name of referenceitem 94 * @param plugin 95 * the Plugin 96 * @return The instance of the referenceItem 97 */ 98 ReferenceItem loadReferenceItemByName( int nIdReference, String sItemName, Plugin plugin ); 99 100 /** 101 * Load the data from the table 102 * 103 * @param nKey 104 * The identifier of the referenceItem 105 * @param plugin 106 * the Plugin 107 * @return The instance of the referenceItem 108 */ 109 ReferenceItem load( int nKey, Plugin plugin ); 110 111 /** 112 * Load the data of all the referenceItem objects and returns them as a list 113 * 114 * @param plugin 115 * the Plugin 116 * @return The list which contains the data of all the referenceItem objects 117 */ 118 List<ReferenceItem> selectReferenceItemsList( int nIdReference, Plugin plugin ); 119 120 /** 121 * Load the data of all the referenceItem objects and returns them as a list 122 * @param plugin the plugin 123 * @return The list which contains the data of all the referenceItem objects 124 */ 125 List<ReferenceItem> selectAllReferenceItems( Plugin plugin ); 126 127 /** 128 * Load the translated referenceItem objects and returns them as a list 129 * 130 * @param nIdReference 131 * the identifier of the reference 132 * @param strLang 133 * the language 134 * @param plugin 135 * the Plugin 136 * @return 137 */ 138 List<ReferenceItem> selectReferenceItemsTranslatedList( int nIdReference, String strLang, Plugin plugin ); 139 140 /** 141 * Load the id of all the referenceItem objects and returns them as a list 142 * 143 * @param plugin 144 * the Plugin 145 * @return The list which contains the id of all the referenceItem objects 146 */ 147 List<Integer> selectIdReferenceItemsList( Plugin plugin ); 148 149 /** 150 * Load the data of all the referenceItem objects and returns them as a referenceList 151 * 152 * @param plugin 153 * the Plugin 154 * @return The referenceList which contains the data of all the referenceItem objects 155 */ 156 ReferenceList selectReferenceItemsReferenceList( Plugin plugin ); 157 }