View Javadoc
1   /*
2    * Copyright (c) 2002-2023, 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.document.business.workflow;
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   * This class represents the business object DocumentAction
44   */
45  public class DocumentAction implements Localizable, RBACAction
46  {
47      public static final int ACTION_SUBMIT = 3;
48      public static final int ACTION_SUBMIT_CHANGE = 10;
49      public static final int ACTION_VALIDATE = 4;
50      public static final int ACTION_VALIDATE_CHANGE = 12;
51      public static final int ACTION_REFUSE = 6;
52      public static final int ACTION_REFUSE_CHANGE = 11;
53      public static final int ACTION_ARCHIVE = 8;
54      public static final int ACTION_UNARCHIVE = 13;
55  
56      // Variables declarations
57      private int _nIdAction;
58      private String _strUrl;
59      private String _strNameKey;
60      private String _strDescriptionKey;
61      private Locale _locale;
62      private String _strIconUrl;
63      private String _strPermission;
64      private DocumentState _finishDocumentState;
65  
66      /**
67       *
68       * @return the id of the document action
69       */
70      public int getIdAction( )
71      {
72          return _nIdAction;
73      }
74  
75      /**
76       * set the id of the document action
77       * 
78       * @param idAction
79       *            the id of the document action
80       */
81      public void setIdAction( int idAction )
82      {
83          _nIdAction = idAction;
84      }
85  
86      /**
87       *
88       * @return the state of the document after doing the action
89       */
90      public DocumentState getFinishDocumentState( )
91      {
92          return _finishDocumentState;
93      }
94  
95      /**
96       * set the state of the document after doing the action
97       * 
98       * @param documentState
99       *            the state of the document after doing the action
100      */
101     public void setFinishDocumentState( DocumentState documentState )
102     {
103         _finishDocumentState = documentState;
104     }
105 
106     /**
107      * Implements Localizable
108      * 
109      * @param locale
110      *            The current locale
111      */
112     public void setLocale( Locale locale )
113     {
114         _locale = locale;
115     }
116 
117     /**
118      * Returns the Url
119      *
120      * @return The Url
121      */
122     public String getUrl( )
123     {
124         return _strUrl;
125     }
126 
127     /**
128      * Sets the Url
129      *
130      * @param strUrl
131      *            The Url
132      */
133     public void setUrl( String strUrl )
134     {
135         _strUrl = strUrl;
136     }
137 
138     /**
139      * Returns the NameKey
140      *
141      * @return The NameKey
142      */
143     public String getNameKey( )
144     {
145         return _strNameKey;
146     }
147 
148     /**
149      * Returns the Name
150      *
151      * @return The Name
152      */
153     public String getName( )
154     {
155         return I18nService.getLocalizedString( _strNameKey, _locale );
156     }
157 
158     /**
159      * Sets the NameKey
160      *
161      * @param strNameKey
162      *            The NameKey
163      */
164     public void setNameKey( String strNameKey )
165     {
166         _strNameKey = strNameKey;
167     }
168 
169     /**
170      * Returns the DescriptionKey
171      *
172      * @return The DescriptionKey
173      */
174     public String getDescriptionKey( )
175     {
176         return _strDescriptionKey;
177     }
178 
179     /**
180      * Returns the Description
181      *
182      * @return The Description
183      */
184     public String getDescription( )
185     {
186         return I18nService.getLocalizedString( _strDescriptionKey, _locale );
187     }
188 
189     /**
190      * Sets the DescriptionKey
191      *
192      * @param strDescriptionKey
193      *            The DescriptionKey
194      */
195     public void setDescriptionKey( String strDescriptionKey )
196     {
197         _strDescriptionKey = strDescriptionKey;
198     }
199 
200     /**
201      * Returns the IconUrl
202      *
203      * @return The IconUrl
204      */
205     public String getIconUrl( )
206     {
207         return _strIconUrl;
208     }
209 
210     /**
211      * Sets the IconUrl
212      *
213      * @param strIconUrl
214      *            The IconUrl
215      */
216     public void setIconUrl( String strIconUrl )
217     {
218         _strIconUrl = strIconUrl;
219     }
220 
221     /**
222      * Returns the permission associated to the action
223      * 
224      * @return The permission
225      */
226     public String getPermission( )
227     {
228         return _strPermission;
229     }
230 
231     /**
232      * Sets the Permission
233      *
234      * @param strPermission
235      *            The Permission
236      */
237     public void setPermission( String strPermission )
238     {
239         _strPermission = strPermission;
240     }
241 }