RBACRoleHome.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.rbac;

  35. import fr.paris.lutece.portal.service.spring.SpringContextService;
  36. import fr.paris.lutece.util.ReferenceList;

  37. import java.util.Collection;

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

  45.     /**
  46.      * Private constructor - this class need not be instantiated
  47.      */
  48.     private RBACRoleHome( )
  49.     {
  50.     }

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

  61.         return role;
  62.     }

  63.     /**
  64.      * Update of the role which is specified in parameter
  65.      *
  66.      * @param strRoleKey
  67.      *            the key of the role to update
  68.      * @param role
  69.      *            The instance of the role which contains the new data to store
  70.      * @return The instance of the role which has been updated
  71.      */
  72.     public static RBACRole update( String strRoleKey, RBACRole role )
  73.     {
  74.         _dao.store( strRoleKey, role );

  75.         return role;
  76.     }

  77.     /**
  78.      * Remove the RBACRole whose identifier is specified in parameter
  79.      *
  80.      * @param strRoleKey
  81.      *            The RBACRole object to remove
  82.      */
  83.     public static void remove( String strRoleKey )
  84.     {
  85.         _dao.delete( strRoleKey );
  86.     }

  87.     // /////////////////////////////////////////////////////////////////////////
  88.     // Finders

  89.     /**
  90.      * Returns an instance of a role whose identifier is specified in parameter
  91.      *
  92.      * @param strRoleKey
  93.      *            The Primary key of the role
  94.      * @return An instance of role
  95.      */
  96.     public static RBACRole findByPrimaryKey( String strRoleKey )
  97.     {
  98.         return _dao.load( strRoleKey );
  99.     }

  100.     /**
  101.      * Returns a collection of roles objects
  102.      *
  103.      * @return A collection of roles
  104.      */
  105.     public static Collection<RBACRole> findAll( )
  106.     {
  107.         return _dao.selectRoleList( );
  108.     }

  109.     /**
  110.      * Returns a reference of roles objects
  111.      *
  112.      * @return A collection of roles
  113.      */
  114.     public static ReferenceList getRolesList( )
  115.     {
  116.         ReferenceList list = new ReferenceList( );
  117.         Collection<RBACRole> listRoles = _dao.selectRoleList( );

  118.         for ( RBACRole role : listRoles )
  119.         {
  120.             list.addItem( role.getKey( ), role.getDescription( ) );
  121.         }

  122.         return list;
  123.     }

  124.     /**
  125.      * Check that the given key points to an existing role
  126.      *
  127.      * @param strRoleKey
  128.      *            The role key
  129.      * @return true if the role exists, false otherwise
  130.      */
  131.     public static boolean checkExistRole( String strRoleKey )
  132.     {
  133.         return _dao.checkExistRole( strRoleKey );
  134.     }
  135. }