PageTemplateHome.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.style;

  35. import fr.paris.lutece.portal.service.spring.SpringContextService;

  36. import java.util.List;

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

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

  50.     /**
  51.      * Creation of an instance of a page template
  52.      *
  53.      * @param pageTemplate
  54.      *            template An instance of a page template which contains the informations to store
  55.      * @return The instance of a page template which has been created with its primary key.
  56.      */
  57.     public static PageTemplate create( PageTemplate pageTemplate )
  58.     {
  59.         _dao.insert( pageTemplate );

  60.         return pageTemplate;
  61.     }

  62.     /**
  63.      * Update of the page template which is specified
  64.      *
  65.      * @param pageTemplate
  66.      *            The instance of the page template which contains the data to store
  67.      * @return The instance of the page template which has been updated
  68.      */
  69.     public static PageTemplate update( PageTemplate pageTemplate )
  70.     {
  71.         _dao.store( pageTemplate );

  72.         return pageTemplate;
  73.     }

  74.     /**
  75.      * Remove the page template whose identifier is specified in parameter
  76.      *
  77.      * @param nId
  78.      *            The identifier of the page template to remove
  79.      */
  80.     public static void remove( int nId )
  81.     {
  82.         _dao.delete( nId );
  83.     }

  84.     // /////////////////////////////////////////////////////////////////////////
  85.     // Finders

  86.     /**
  87.      * Returns an instance of an page template whose identifier is specified in parameter
  88.      *
  89.      * @param nKey
  90.      *            The page template primary key
  91.      * @return an instance of a page template
  92.      */
  93.     public static PageTemplate findByPrimaryKey( int nKey )
  94.     {
  95.         return _dao.load( nKey );
  96.     }

  97.     /**
  98.      * Return the list of all the page templates
  99.      *
  100.      * @return A collection of page templates objects
  101.      */
  102.     public static List<PageTemplate> getPageTemplatesList( )
  103.     {
  104.         return _dao.selectPageTemplatesList( );
  105.     }

  106.     /**
  107.      * Checks if a page template is used by a page
  108.      *
  109.      * @param nPageTemplateId
  110.      *            The identifier of the page Template
  111.      * @return true if a page template has been used by a page, false otherwise
  112.      */
  113.     public static boolean checkStylePageTemplateIsUsed( int nPageTemplateId )
  114.     {
  115.         return _dao.checkPageTemplateIsUsed( nPageTemplateId );
  116.     }
  117. }