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.web;
35  
36  import fr.paris.lutece.plugins.document.business.DocumentResource;
37  
38  import java.io.Serializable;
39  
40  
41  /**
42   * Resource Value Object
43   */
44  public class ResourceValueObject implements Serializable
45  {
46      private static final long serialVersionUID = -1354905008213695289L;
47      private static final String DEFAULT_FILENAME = "document";
48  
49      // Variables declarations
50      private int _nIdObject;
51      private byte[] _content;
52      private String _strContentType;
53      private String _strFilename;
54      private long _lLastModified;
55  
56      /**
57       * Basic constructor
58       */
59      public ResourceValueObject(  )
60      {
61      }
62  
63      /**
64       * Constructor using a document resource object
65       * @param resource The document resource
66       */
67      public ResourceValueObject( DocumentResource resource )
68      {
69          _strFilename = resource.getName(  );
70  
71          if ( ( _strFilename == null ) || _strFilename.equals( "" ) )
72          {
73              _strFilename = DEFAULT_FILENAME;
74          }
75  
76          _strContentType = resource.getContentType(  );
77          _content = resource.getContent(  );
78      }
79  
80      /**
81       * Returns the IdObject
82       * @return The IdObject
83       */
84      public int getIdObject(  )
85      {
86          return _nIdObject;
87      }
88  
89      /**
90       * Sets the IdObject
91       * @param nIdObject The IdObject
92       */
93      public void setIdObject( int nIdObject )
94      {
95          _nIdObject = nIdObject;
96      }
97  
98      /**
99       * Returns the Content
100      * @return The Content
101      */
102     public byte[] getContent(  )
103     {
104         return _content;
105     }
106 
107     /**
108      * Sets the Content
109      * @param content The content
110      */
111     public void setContent( byte[] content )
112     {
113         _content = content;
114     }
115 
116     /**
117      * Returns the ContentType
118      * @return The ContentType
119      */
120     public String getContentType(  )
121     {
122         return _strContentType;
123     }
124 
125     /**
126      * Sets the ContentType
127      * @param strContentType The ContentType
128      */
129     public void setContentType( String strContentType )
130     {
131         _strContentType = strContentType;
132     }
133 
134     /**
135      * Returns the Filename
136      * @return The Filename
137      */
138     public String getFilename(  )
139     {
140         return _strFilename;
141     }
142 
143     /**
144      * Sets the Filename
145      * @param strFilename The Filename
146      */
147     public void setFilename( String strFilename )
148     {
149         _strFilename = strFilename;
150     }
151 
152     /**
153      * Sets the Last modified time
154      * @param lLastModified Last modified time
155      */
156     public void setLastModified( long lLastModified )
157     {
158         _lLastModified = lLastModified;
159     }
160 
161     /**
162      * Returns the Last modified time
163      * @return The Last modified time
164      */
165     public long getLastModified(  )
166     {
167         return _lLastModified;
168     }
169 }