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, long plid,
054                            String portletId, String actionId)
055                    throws PortalException;
056    
057            public void check(
058                            PermissionChecker permissionChecker, long groupId, long plid,
059                            String portletId, String actionId, boolean strict)
060                    throws PortalException;
061    
062            public void check(
063                            PermissionChecker permissionChecker, long plid, String portletId,
064                            String actionId)
065                    throws PortalException;
066    
067            public void check(
068                            PermissionChecker permissionChecker, long plid, String portletId,
069                            String actionId, boolean strict)
070                    throws PortalException;
071    
072            public void check(
073                            PermissionChecker permissionChecker, String portletId,
074                            String actionId)
075                    throws PortalException;
076    
077            public boolean contains(
078                            PermissionChecker permissionChecker, Layout layout, Portlet portlet,
079                            String actionId)
080                    throws PortalException;
081    
082            public boolean contains(
083                            PermissionChecker permissionChecker, Layout layout, Portlet portlet,
084                            String actionId, boolean strict)
085                    throws PortalException;
086    
087            public boolean contains(
088                            PermissionChecker permissionChecker, Layout layout,
089                            String portletId, String actionId)
090                    throws PortalException;
091    
092            public boolean contains(
093                            PermissionChecker permissionChecker, Layout layout,
094                            String portletId, String actionId, boolean strict)
095                    throws PortalException;
096    
097            public boolean contains(
098                            PermissionChecker permissionChecker, long groupId, Layout layout,
099                            Portlet portlet, String actionId)
100                    throws PortalException;
101    
102            public boolean contains(
103                            PermissionChecker permissionChecker, long groupId, Layout layout,
104                            Portlet portlet, String actionId, boolean strict)
105                    throws PortalException;
106    
107            public boolean contains(
108                            PermissionChecker permissionChecker, long groupId, Layout layout,
109                            String portletId, String actionId)
110                    throws PortalException;
111    
112            public boolean contains(
113                            PermissionChecker permissionChecker, long groupId, Layout layout,
114                            String portletId, String actionId, boolean strict)
115                    throws PortalException;
116    
117            public boolean contains(
118                            PermissionChecker permissionChecker, long groupId, long plid,
119                            Portlet portlet, String actionId, boolean strict)
120                    throws PortalException;
121    
122            public boolean contains(
123                            PermissionChecker permissionChecker, long groupId, long plid,
124                            String portletId, String actionId, boolean strict)
125                    throws PortalException;
126    
127            public boolean contains(
128                            PermissionChecker permissionChecker, long plid, Portlet portlet,
129                            String actionId)
130                    throws PortalException;
131    
132            public boolean contains(
133                            PermissionChecker permissionChecker, long plid, Portlet portlet,
134                            String actionId, boolean strict)
135                    throws PortalException;
136    
137            public boolean contains(
138                            PermissionChecker permissionChecker, long plid, String portletId,
139                            String actionId)
140                    throws PortalException;
141    
142            public boolean contains(
143                            PermissionChecker permissionChecker, long plid, String portletId,
144                            String actionId, boolean strict)
145                    throws PortalException;
146    
147            public boolean contains(
148                            PermissionChecker permissionChecker, String portletId,
149                            String actionId)
150                    throws PortalException;
151    
152            public String getPrimaryKey(long plid, String portletId);
153    
154            public boolean hasAccessPermission(
155                            PermissionChecker permissionChecker, long scopeGroupId,
156                            Layout layout, Portlet portlet, PortletMode portletMode)
157                    throws PortalException;
158    
159            public boolean hasConfigurationPermission(
160                            PermissionChecker permissionChecker, long groupId, Layout layout,
161                            String actionId)
162                    throws PortalException;
163    
164            public boolean hasControlPanelAccessPermission(
165                            PermissionChecker permissionChecker, long scopeGroupId,
166                            Collection<Portlet> portlets)
167                    throws PortalException;
168    
169            public boolean hasControlPanelAccessPermission(
170                            PermissionChecker permissionChecker, long scopeGroupId,
171                            Portlet portlet)
172                    throws PortalException;
173    
174            public boolean hasControlPanelAccessPermission(
175                            PermissionChecker permissionChecker, long scopeGroupId,
176                            String portletId)
177                    throws PortalException;
178    
179            public boolean hasLayoutManagerPermission(
180                    String portletId, String actionId);
181    
182    }