PortalComponentHome.java

  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.business.portalcomponent;

  35. import fr.paris.lutece.portal.business.stylesheet.StyleSheet;
  36. import fr.paris.lutece.portal.service.spring.SpringContextService;

  37. /**
  38.  * This class provides instances management methods (create, find, ...) for PortalComponent objects
  39.  */
  40. public final class PortalComponentHome
  41. {
  42.     // Static variable pointed at the DAO instance
  43.     private static IPortalComponentDAO _dao = SpringContextService.getBean( "portalComponentDAO" );

  44.     /**
  45.      * Creates a new PortalComponentHome object.
  46.      */
  47.     private PortalComponentHome( )
  48.     {
  49.     }

  50.     /**
  51.      * Insert a new record in the table.
  52.      *
  53.      * @param portalComponent
  54.      *            component The Instance of the object PortalComponent
  55.      */
  56.     public static void create( PortalComponent portalComponent )
  57.     {
  58.         _dao.insert( portalComponent );
  59.     }

  60.     /**
  61.      * Delete a record from the table
  62.      *
  63.      * @param nPortalComponentId
  64.      *            The indentifier of the object PortalComponent
  65.      */
  66.     public static void remove( int nPortalComponentId )
  67.     {
  68.         _dao.delete( nPortalComponentId );
  69.     }

  70.     /**
  71.      * load the data of PortalComponent from the table
  72.      *
  73.      * @param nPortalComponentId
  74.      *            The indentifier of the object PortalComponent
  75.      * @return The Instance of the object PortalComponent
  76.      */
  77.     public static PortalComponent findByPrimaryKey( int nPortalComponentId )
  78.     {
  79.         return _dao.load( nPortalComponentId );
  80.     }

  81.     /**
  82.      * Update the record in the table
  83.      *
  84.      * @param portalComponent
  85.      *            The instance of the PortalComponent to update
  86.      */
  87.     public static void update( PortalComponent portalComponent )
  88.     {
  89.         _dao.store( portalComponent );
  90.     }

  91.     /**
  92.      * Returns the stylesheet of the portal component according to the mode
  93.      *
  94.      * @param nPortalComponentId
  95.      *            the identifier of the portal component
  96.      * @param nModeId
  97.      *            the selected mode
  98.      * @return the stylesheet
  99.      */
  100.     public static StyleSheet getXsl( int nPortalComponentId, int nModeId )
  101.     {
  102.         return _dao.selectXslFile( nPortalComponentId, nModeId );
  103.     }
  104. }