1 /*
2 * Copyright (c) 2002-2022, 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.portal.business.dashboard;
35
36 import fr.paris.lutece.portal.service.dashboard.admin.IAdminDashboardComponent;
37 import fr.paris.lutece.portal.service.spring.SpringContextService;
38
39 import java.util.List;
40
41 /**
42 *
43 * AdminDashboardHome
44 *
45 */
46 public final class AdminDashboardHome
47 {
48 // Static variable pointed at the DAO instance
49 private static IAdminDashboardDAO _dao = SpringContextService.getBean( "adminDashboardDAO" );
50
51 /**
52 * Private constructor - this class need not be instantiated
53 */
54 private AdminDashboardHome( )
55 {
56 }
57
58 /**
59 * Creation of an instance of adminDashboardComponent
60 *
61 * @param adminDashboardComponent
62 * The instance of the adminDashboardComponent which contains the informations to store
63 *
64 */
65 public static void create( IAdminDashboardComponent adminDashboardComponent )
66 {
67 _dao.insert( adminDashboardComponent );
68 }
69
70 /**
71 * Update of the adminDashboardComponent which is specified in parameter
72 *
73 * @param adminDashboardComponent
74 * The instance of the adminDashboardComponent which contains the informations to update
75 *
76 */
77 public static void update( IAdminDashboardComponent adminDashboardComponent )
78 {
79 _dao.store( adminDashboardComponent );
80 }
81
82 /**
83 * Remove the adminDashboardComponent whose identifier is specified in parameter
84 *
85 * @param strBeanName
86 * The adminDashboardComponent id
87 */
88 public static void remove( String strBeanName )
89 {
90 _dao.delete( strBeanName );
91 }
92
93 /**
94 * Remove the adminDashboardComponent whose identifier is specified in parameter
95 *
96 */
97 public static void removeAll( )
98 {
99 _dao.deleteAll( );
100 }
101
102 // /////////////////////////////////////////////////////////////////////////
103 // Finders
104
105 /**
106 * Returns an instance of a adminDashboardComponent whose identifier is specified in parameter
107 *
108 * @param strBeanName
109 * The adminDashboardComponent primary key
110 * @return an instance of adminDashboardComponent
111 */
112 public static IAdminDashboardComponent findByPrimaryKey( String strBeanName )
113 {
114 return _dao.load( strBeanName );
115 }
116
117 /**
118 * Loads the data of all the IAdminDashboardComponent
119 *
120 * @return the list which contains the data of all the IAdminDashboardComponent
121 */
122 public static List<IAdminDashboardComponent> findAll( )
123 {
124 return _dao.selectAllDashboardComponents( );
125 }
126
127 /**
128 * Loads the data of all the IAdminDashboardComponent
129 *
130 * @param filter
131 * a search by criteria
132 * @return the list which contains the data of all the IAdminDashboardComponent
133 */
134 public static List<IAdminDashboardComponent> findByFilter( AdminDashboardFilter filter )
135 {
136 return _dao.selectDashboardComponents( filter );
137 }
138
139 /**
140 * Finds the max order for all columns.
141 *
142 * @return the max order
143 */
144 public static int findMaxOrder( )
145 {
146 return _dao.selectMaxOrder( );
147 }
148
149 /**
150 * Finds the max order for the column.
151 *
152 * @param nColumn
153 * the column
154 * @return the max order
155 */
156 public static int findMaxOrder( int nColumn )
157 {
158 return _dao.selectMaxOrder( nColumn );
159 }
160
161 /**
162 * Find columns.
163 *
164 * @return the list
165 */
166 public static List<Integer> findColumns( )
167 {
168 return _dao.selectColumns( );
169 }
170 }