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.web.system;
35
36 import java.util.Date;
37 import java.util.Locale;
38
39 /**
40 * Utility class for SystemJspBean
41 */
42 public class SystemFile implements Comparable
43 {
44 private String _strName;
45 private String _strDescription;
46 private String _strDirectory;
47 private Date _date;
48 private int _size;
49
50 /**
51 * Gets the name
52 *
53 * @return The name
54 */
55 public String getName( )
56 {
57 return _strName;
58 }
59
60 /**
61 * Sets the name
62 *
63 * @param strName
64 * The name
65 */
66 public void setName( String strName )
67 {
68 _strName = strName;
69 }
70
71 /**
72 * Gets the description
73 *
74 * @return The description
75 */
76 public String getDescription( )
77 {
78 return _strDescription;
79 }
80
81 /**
82 * Sets the description
83 *
84 * @param strDescription
85 * The description
86 */
87 public void setDescription( String strDescription )
88 {
89 _strDescription = strDescription;
90 }
91
92 /**
93 * Gets the directory
94 *
95 * @return The directory
96 */
97 public String getDirectory( )
98 {
99 return _strDirectory;
100 }
101
102 /**
103 * Sets the directory
104 *
105 * @param strDirectory
106 * The directory
107 */
108 public void setDirectory( String strDirectory )
109 {
110 _strDirectory = strDirectory;
111 }
112
113 /**
114 * Gets the date
115 *
116 * @return The date
117 */
118 public Date getDate( )
119 {
120 return _date;
121 }
122
123 /**
124 * Sets the date
125 *
126 * @param date
127 * The date
128 */
129 public void setDate( Date date )
130 {
131 _date = date;
132 }
133
134 /**
135 * Gets the size
136 *
137 * @return The size
138 */
139 public int getSize( )
140 {
141 return _size;
142 }
143
144 /**
145 * Sets the size
146 *
147 * @param size
148 * The size
149 */
150 public void setSize( int size )
151 {
152 _size = size;
153 }
154
155 /**
156 * Compare files name in order to sort files by name
157 *
158 * @param file
159 * The file to compare
160 * @return
161 */
162 @Override
163 public int compareTo( Object file )
164 {
165 return getName( ).toLowerCase( Locale.ENGLISH ).trim( ).compareTo( ( (SystemFile) file ).getName( ).toLowerCase( Locale.ENGLISH ).trim( ) );
166 }
167 }