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.service.spring.SpringContextService;
37
38 import java.util.List;
39 import java.util.Locale;
40
41
42 /**
43 *
44 * AttributeHome
45 *
46 */
47 public final class AttributeHome
48 {
49 private static IAttributeDAO _dao = (IAttributeDAO) SpringContextService.getBean( "attributeDAO" );
50
51 /**
52 * Private constructor
53 */
54 private AttributeHome( )
55 {
56 }
57
58 /**
59 * Load attribute
60 * @param nIdAttribute ID Attribute
61 * @param locale Locale
62 * @return Attribute
63 */
64 public static IAttribute findByPrimaryKey( int nIdAttribute, Locale locale )
65 {
66 return _dao.load( nIdAttribute, locale );
67 }
68
69 /**
70 * Insert an new attribute
71 * @param attribute attribute
72 * @return new PK
73 */
74 public static int create( IAttribute attribute )
75 {
76 return _dao.insert( attribute );
77 }
78
79 /**
80 * Update an attribute
81 * @param attribute the attribute
82 */
83 public static void update( IAttribute attribute )
84 {
85 _dao.store( attribute );
86 }
87
88 /**
89 * Delete an attribute
90 * @param nIdAttribute The id of the attribute
91 */
92 public static void remove( int nIdAttribute )
93 {
94 _dao.delete( nIdAttribute );
95 }
96
97 /**
98 * Load every attributes
99 * @param locale locale
100 * @return list of attributes
101 */
102 public static List<IAttribute> findAll( Locale locale )
103 {
104 return _dao.selectAll( locale );
105 }
106
107 /**
108 * Load every attributes associated to a plugin
109 * @param strPluginName plugin name
110 * @param locale locale
111 * @return list of attributes
112 */
113 public static List<IAttribute> findPluginAttributes( String strPluginName, Locale locale )
114 {
115 return _dao.selectPluginAttributes( strPluginName, locale );
116 }
117
118 /**
119 * Load every attributes that do not come from a plugin
120 * @param locale locale
121 * @return list of attributes
122 */
123 public static List<IAttribute> findCoreAttributes( Locale locale )
124 {
125 return _dao.selectCoreAttributes( locale );
126 }
127
128 /**
129 * Update the anonymization status of the attribute.
130 * @param nIdAttribute Id of the attribute
131 * @param bAnonymize New value of the anonymization status. True means the
132 * attribute should be anonymize, false means it doesn't.
133 */
134 public static void updateAttributeAnonymization( int nIdAttribute, boolean bAnonymize )
135 {
136 _dao.updateAttributeAnonymization( nIdAttribute, bAnonymize );
137 }
138 }