001    /**
002     * Copyright (c) 2000-present 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.model.Layout;
019    import com.liferay.portal.model.Portlet;
020    import com.liferay.portal.security.permission.PermissionChecker;
021    
022    import java.util.Collection;
023    
024    import javax.portlet.PortletMode;
025    
026    /**
027     * @author Brian Wing Shun Chan
028     * @author Raymond Aug??
029     */
030    public interface PortletPermission {
031    
032            public void check(
033                            PermissionChecker permissionChecker, Layout layout,
034                            String portletId, String actionId)
035                    throws PortalException;
036    
037            public void check(
038                            PermissionChecker permissionChecker, Layout layout,
039                            String portletId, String actionId, boolean strict)
040                    throws PortalException;
041    
042            public void check(
043                            PermissionChecker permissionChecker, long groupId, Layout layout,
044                            String portletId, String actionId)
045                    throws PortalException;
046    
047            public void check(
048                            PermissionChecker permissionChecker, long groupId, Layout layout,
049                            String portletId, String actionId, boolean strict)
050                    throws PortalException;
051    
052            public void check(
053                            PermissionChecker permissionChecker, long groupId, Layout layout,
054                            String portletId, String actionId, boolean strict,
055                            boolean checkStagingPermission)
056                    throws PortalException;
057    
058            public void check(
059                            PermissionChecker permissionChecker, long groupId, long plid,
060                            String portletId, String actionId)
061                    throws PortalException;
062    
063            public void check(
064                            PermissionChecker permissionChecker, long groupId, long plid,
065                            String portletId, String actionId, boolean strict)
066                    throws PortalException;
067    
068            public void check(
069                            PermissionChecker permissionChecker, long plid, String portletId,
070                            String actionId)
071                    throws PortalException;
072    
073            public void check(
074                            PermissionChecker permissionChecker, long plid, String portletId,
075                            String actionId, boolean strict)
076                    throws PortalException;
077    
078            public void check(
079                            PermissionChecker permissionChecker, String portletId,
080                            String actionId)
081                    throws PortalException;
082    
083            public boolean contains(
084                            PermissionChecker permissionChecker, Layout layout, Portlet portlet,
085                            String actionId)
086                    throws PortalException;
087    
088            public boolean contains(
089                            PermissionChecker permissionChecker, Layout layout, Portlet portlet,
090                            String actionId, boolean strict)
091                    throws PortalException;
092    
093            public boolean contains(
094                            PermissionChecker permissionChecker, Layout layout,
095                            String portletId, String actionId)
096                    throws PortalException;
097    
098            public boolean contains(
099                            PermissionChecker permissionChecker, Layout layout,
100                            String portletId, String actionId, boolean strict)
101                    throws PortalException;
102    
103            public boolean contains(
104                            PermissionChecker permissionChecker, long groupId, Layout layout,
105                            Portlet portlet, String actionId)
106                    throws PortalException;
107    
108            public boolean contains(
109                            PermissionChecker permissionChecker, long groupId, Layout layout,
110                            Portlet portlet, String actionId, boolean strict)
111                    throws PortalException;
112    
113            public boolean contains(
114                            PermissionChecker permissionChecker, long groupId, Layout layout,
115                            String portletId, String actionId)
116                    throws PortalException;
117    
118            public boolean contains(
119                            PermissionChecker permissionChecker, long groupId, Layout layout,
120                            String portletId, String actionId, boolean strict)
121                    throws PortalException;
122    
123            public boolean contains(
124                            PermissionChecker permissionChecker, long groupId, Layout layout,
125                            String portletId, String actionId, boolean strict,
126                            boolean checkStagingPermission)
127                    throws PortalException;
128    
129            public boolean contains(
130                            PermissionChecker permissionChecker, long groupId, long plid,
131                            Portlet portlet, String actionId, boolean strict)
132                    throws PortalException;
133    
134            public boolean contains(
135                            PermissionChecker permissionChecker, long groupId, long plid,
136                            String portletId, String actionId, boolean strict)
137                    throws PortalException;
138    
139            public boolean contains(
140                            PermissionChecker permissionChecker, long plid, Portlet portlet,
141                            String actionId)
142                    throws PortalException;
143    
144            public boolean contains(
145                            PermissionChecker permissionChecker, long plid, Portlet portlet,
146                            String actionId, boolean strict)
147                    throws PortalException;
148    
149            public boolean contains(
150                            PermissionChecker permissionChecker, long plid, String portletId,
151                            String actionId)
152                    throws PortalException;
153    
154            public boolean contains(
155                            PermissionChecker permissionChecker, long plid, String portletId,
156                            String actionId, boolean strict)
157                    throws PortalException;
158    
159            public boolean contains(
160                            PermissionChecker permissionChecker, String portletId,
161                            String actionId)
162                    throws PortalException;
163    
164            public String getPrimaryKey(long plid, String portletId);
165    
166            public boolean hasAccessPermission(
167                            PermissionChecker permissionChecker, long scopeGroupId,
168                            Layout layout, Portlet portlet, PortletMode portletMode)
169                    throws PortalException;
170    
171            public boolean hasConfigurationPermission(
172                            PermissionChecker permissionChecker, long groupId, Layout layout,
173                            String actionId)
174                    throws PortalException;
175    
176            public boolean hasControlPanelAccessPermission(
177                            PermissionChecker permissionChecker, long scopeGroupId,
178                            Collection<Portlet> portlets)
179                    throws PortalException;
180    
181            public boolean hasControlPanelAccessPermission(
182                            PermissionChecker permissionChecker, long scopeGroupId,
183                            Portlet portlet)
184                    throws PortalException;
185    
186            public boolean hasControlPanelAccessPermission(
187                            PermissionChecker permissionChecker, long scopeGroupId,
188                            String portletId)
189                    throws PortalException;
190    
191            public boolean hasLayoutManagerPermission(
192                    String portletId, String actionId);
193    
194    }