View Javadoc
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.portal.business.user.attribute;
35  
36  import fr.paris.lutece.portal.business.user.AdminUser;
37  
38  import java.util.List;
39  
40  
41  /**
42   *
43   * IAdminUserFieldDAO
44   *
45   */
46  public interface IAdminUserFieldDAO
47  {
48      /**
49       * Load the user field
50       * @param nIdUserField ID
51       * @return AdminUserField
52       */
53      AdminUserField load( int nIdUserField );
54  
55      /**
56       * Insert a new user field
57       * @param userField the user field
58       */
59      void insert( AdminUserField userField );
60  
61      /**
62       * Update an user field
63       * @param userField the user field
64       */
65      void store( AdminUserField userField );
66  
67      /**
68       * Delete an attribute
69       * @param nIdUserField the ID of the user field
70       */
71      void delete( int nIdUserField );
72  
73      /**
74       * Delete all user fields from given id field
75       * @param nIdField id field
76       */
77      void deleteUserFieldsFromIdField( int nIdField );
78  
79      /**
80       * Delete all user fields from given id user
81       * @param nIdUser id user
82       */
83      void deleteUserFieldsFromIdUser( int nIdUser );
84  
85      /**
86       * Delete all user fields from given id attribute
87       * @param nIdAttribute id attribute
88       */
89      void deleteUserFieldsFromIdAttribute( int nIdAttribute );
90  
91      /**
92       * Load all the user field by a given ID user
93       * @param nIdUser the ID user
94       * @param nIdAttribute the ID attribute
95       * @return a list of adminuserfield
96       */
97      List<AdminUserField> selectUserFieldsByIdUserIdAttribute( int nIdUser, int nIdAttribute );
98  
99      /**
100      * Load users by a given filter
101      * @param auFieldFilter the filter
102      * @return a list of users
103      */
104     List<AdminUser> selectUsersByFilter( AdminUserFieldFilter auFieldFilter );
105 
106     /**
107      * Select by filter.
108      *
109      * @param auFieldFilter the filter
110      * @return the list
111      */
112     List<AdminUserField> selectByFilter( AdminUserFieldFilter auFieldFilter );
113 }