View Javadoc
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.plugins.resource.business.database;
35  
36  import fr.paris.lutece.plugins.resource.business.IResource;
37  import fr.paris.lutece.portal.service.util.AppLogService;
38  
39  import javax.validation.constraints.NotEmpty;
40  import javax.validation.constraints.Size;
41  
42  /**
43   * Business class for resources
44   */
45  public class DatabaseResource implements IResource, Cloneable
46  {
47      private static final long serialVersionUID = -6889675846023730084L;
48      private String _strIdResource;
49      @NotEmpty( message = "#i18n{resource.model.entity.databaseResource.attribute.resourceType.notEmpty}" )
50      @Size( max = 255, min = 1, message = "#i18n{resource.model.entity.databaseResource.attribute.resourceType.size}" )
51      private String _strResourceType;
52      @NotEmpty( message = "#i18n{resource.model.entity.databaseResource.attribute.resourceName.notEmpty}" )
53      @Size( max = 255, min = 1, message = "#i18n{resource.model.entity.databaseResource.attribute.resourceName.size}" )
54      private String _strResourceName;
55  
56      /**
57       * {@inheritDoc}
58       */
59      @Override
60      public String getIdResource( )
61      {
62          return _strIdResource;
63      }
64  
65      /**
66       * Set the id of the resource
67       * 
68       * @param nIdResource
69       *            The id of the resource
70       */
71      protected void setIdResource( int nIdResource )
72      {
73          this._strIdResource = Integer.toString( nIdResource );
74      }
75  
76      /**
77       * {@inheritDoc}
78       */
79      @Override
80      public String getResourceType( )
81      {
82          return _strResourceType;
83      }
84  
85      /**
86       * Set the type of this resource
87       * 
88       * @param strResourceType
89       *            The type of this resource
90       */
91      public void setResourceType( String strResourceType )
92      {
93          this._strResourceType = strResourceType;
94      }
95  
96      /**
97       * {@inheritDoc}
98       */
99      @Override
100     public String getResourceName( )
101     {
102         return _strResourceName;
103     }
104 
105     /**
106      * Set the name of this resource
107      * 
108      * @param strResourceName
109      *            The name of this resource
110      */
111     public void setResourceName( String strResourceName )
112     {
113         this._strResourceName = strResourceName;
114     }
115 
116     /**
117      * {@inheritDoc}
118      */
119     @Override
120     public DatabaseResource clone( )
121     {
122         try
123         {
124             return (DatabaseResource) super.clone( );
125         }
126         catch( CloneNotSupportedException e )
127         {
128             AppLogService.error( e.getMessage( ), e );
129         }
130 
131         return null;
132     }
133 }