1 /*
2 * Copyright (c) 2002-2017, 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.form.business;
35
36 import fr.paris.lutece.portal.service.i18n.I18nService;
37 import fr.paris.lutece.portal.service.i18n.Localizable;
38 import fr.paris.lutece.portal.service.rbac.RBACAction;
39
40 import java.util.Locale;
41
42 /**
43 * Action available on a space
44 */
45 public class FormAction implements RBACAction, Localizable
46 {
47 // Variables declarations
48 private String _strUrl;
49 private String _strNameKey;
50 private String _strDescriptionKey;
51 private String _strIconUrl;
52 private String _strPermission;
53 private int _nFormState;
54 private Locale _locale;
55
56 /**
57 *
58 * @return 1 if the action must be use when the form is enable 0 if the action must be use when the form is disable
59 *
60 */
61 public int getFormState( )
62 {
63 return _nFormState;
64 }
65
66 /**
67 * set 1 if the action must be use when the form is enable 0 if the action must be use when the form is disable
68 *
69 * @param nState
70 * 1 if the action must be use when the form is enable 0 if the action must be use when the form is disable
71 */
72 public void setFormState( int nState )
73 {
74 _nFormState = nState;
75 }
76
77 /**
78 * Returns the Url
79 *
80 * @return The Url
81 */
82 public String getUrl( )
83 {
84 return _strUrl;
85 }
86
87 /**
88 * Sets the Url
89 *
90 * @param strUrl
91 * The Url
92 */
93 public void setUrl( String strUrl )
94 {
95 _strUrl = strUrl;
96 }
97
98 /**
99 * Returns the NameKey
100 *
101 * @return The NameKey
102 */
103 public String getNameKey( )
104 {
105 return _strNameKey;
106 }
107
108 /**
109 * Returns the Name
110 *
111 * @return The Name
112 */
113 public String getName( )
114 {
115 return I18nService.getLocalizedString( _strNameKey, _locale );
116 }
117
118 /**
119 * Sets the NameKey
120 *
121 * @param strNameKey
122 * The NameKey
123 */
124 public void setNameKey( String strNameKey )
125 {
126 _strNameKey = strNameKey;
127 }
128
129 /**
130 * Returns the DescriptionKey
131 *
132 * @return The DescriptionKey
133 */
134 public String getDescriptionKey( )
135 {
136 return _strDescriptionKey;
137 }
138
139 /**
140 * Returns the Description
141 *
142 * @return The Description
143 */
144 public String getDescription( )
145 {
146 return I18nService.getLocalizedString( _strDescriptionKey, _locale );
147 }
148
149 /**
150 * Sets the DescriptionKey
151 *
152 * @param strDescriptionKey
153 * The DescriptionKey
154 */
155 public void setDescriptionKey( String strDescriptionKey )
156 {
157 _strDescriptionKey = strDescriptionKey;
158 }
159
160 /**
161 * Returns the IconUrl
162 *
163 * @return The IconUrl
164 */
165 public String getIconUrl( )
166 {
167 return _strIconUrl;
168 }
169
170 /**
171 * Sets the IconUrl
172 *
173 * @param strIconUrl
174 * The IconUrl
175 */
176 public void setIconUrl( String strIconUrl )
177 {
178 _strIconUrl = strIconUrl;
179 }
180
181 /**
182 * {@inheritDoc}
183 */
184 @Override
185 public String getPermission( )
186 {
187 return _strPermission;
188 }
189
190 /**
191 * Sets the Permission
192 *
193 * @param strPermission
194 * The Permission
195 */
196 public void setPermission( String strPermission )
197 {
198 _strPermission = strPermission;
199 }
200
201 /**
202 * {@inheritDoc}
203 */
204 @Override
205 public void setLocale( Locale locale )
206 {
207 _locale = locale;
208 }
209 }