001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.service.permission;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.model.Layout;
020    import com.liferay.portal.security.permission.PermissionChecker;
021    
022    /**
023     * @author Brian Wing Shun Chan
024     * @author Raymond Augé
025     */
026    public class LayoutPermissionUtil {
027    
028            public static void check(
029                            PermissionChecker permissionChecker, Layout layout, String actionId)
030                    throws PortalException, SystemException {
031    
032                    getLayoutPermission().check(permissionChecker, layout, actionId);
033            }
034    
035            public static void check(
036                            PermissionChecker permissionChecker, long groupId,
037                            boolean privateLayout, long layoutId, String actionId)
038                    throws PortalException, SystemException {
039    
040                    getLayoutPermission().check(
041                            permissionChecker, groupId, privateLayout, layoutId, actionId);
042            }
043    
044            public static void check(
045                            PermissionChecker permissionChecker, long plid, String actionId)
046                    throws PortalException, SystemException {
047    
048                    getLayoutPermission().check(permissionChecker, plid, actionId);
049            }
050    
051            public static boolean contains(
052                            PermissionChecker permissionChecker, Layout layout,
053                            boolean checkViewableGroup, String actionId)
054                    throws PortalException, SystemException {
055    
056                    return getLayoutPermission().contains(
057                            permissionChecker, layout, checkViewableGroup, actionId);
058            }
059    
060            public static boolean contains(
061                            PermissionChecker permissionChecker, Layout layout, String actionId)
062                    throws PortalException, SystemException {
063    
064                    return getLayoutPermission().contains(
065                            permissionChecker, layout, actionId);
066            }
067    
068            public static boolean contains(
069                            PermissionChecker permissionChecker, Layout layout,
070                            String controlPanelCategory, boolean checkViewableGroup,
071                            String actionId)
072                    throws PortalException, SystemException {
073    
074                    return getLayoutPermission().contains(
075                            permissionChecker, layout, controlPanelCategory, checkViewableGroup,
076                            actionId);
077            }
078    
079            public static boolean contains(
080                            PermissionChecker permissionChecker, Layout layout,
081                            String controlPanelCategory, String actionId)
082                    throws PortalException, SystemException {
083    
084                    return getLayoutPermission().contains(
085                            permissionChecker, layout, controlPanelCategory, actionId);
086            }
087    
088            public static boolean contains(
089                            PermissionChecker permissionChecker, long groupId,
090                            boolean privateLayout, long layoutId, String actionId)
091                    throws PortalException, SystemException {
092    
093                    return getLayoutPermission().contains(
094                            permissionChecker, groupId, privateLayout, layoutId, actionId);
095            }
096    
097            public static boolean contains(
098                            PermissionChecker permissionChecker, long groupId,
099                            boolean privateLayout, long layoutId, String controlPanelCategory,
100                            String actionId)
101                    throws PortalException, SystemException {
102    
103                    return getLayoutPermission().contains(
104                            permissionChecker, groupId, privateLayout, layoutId,
105                            controlPanelCategory, actionId);
106            }
107    
108            public static boolean contains(
109                            PermissionChecker permissionChecker, long plid, String actionId)
110                    throws PortalException, SystemException {
111    
112                    return getLayoutPermission().contains(
113                            permissionChecker, plid, actionId);
114            }
115    
116            public static boolean containsWithoutViewableGroup(
117                            PermissionChecker permissionChecker, Layout layout,
118                            String controlPanelCategory, boolean checkLayoutUpdateable,
119                            String actionId)
120                    throws PortalException, SystemException {
121    
122                    return getLayoutPermission().containsWithoutViewableGroup(
123                            permissionChecker, layout, controlPanelCategory,
124                            checkLayoutUpdateable, actionId);
125            }
126    
127            public static boolean containsWithoutViewableGroup(
128                            PermissionChecker permissionChecker, Layout layout,
129                            String controlPanelCategory, String actionId)
130                    throws PortalException, SystemException {
131    
132                    return getLayoutPermission().containsWithoutViewableGroup(
133                            permissionChecker, layout, controlPanelCategory, true, actionId);
134            }
135    
136            public static LayoutPermission getLayoutPermission() {
137                    return _layoutPermission;
138            }
139    
140            public void setLayoutPermission(LayoutPermission layoutPermission) {
141                    _layoutPermission = layoutPermission;
142            }
143    
144            private static LayoutPermission _layoutPermission;
145    
146    }