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.security.auth;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.model.Group;
020    import com.liferay.portal.model.Organization;
021    import com.liferay.portal.model.Role;
022    import com.liferay.portal.model.User;
023    import com.liferay.portal.model.UserGroup;
024    import com.liferay.portal.security.permission.PermissionChecker;
025    
026    import java.util.Set;
027    
028    /**
029     * @author Sergio González
030     */
031    public class MembershipPolicyUtil {
032    
033            public static Set<Group> getForbiddenGroups(User user) {
034                    MembershipPolicy membershipPolicy =
035                            MembershipPolicyFactoryUtil.getMembershipPolicy();
036    
037                    return membershipPolicy.getForbiddenGroups(user);
038            }
039    
040            public static Set<Organization> getForbiddenOrganizations(User user) {
041                    MembershipPolicy membershipPolicy =
042                            MembershipPolicyFactoryUtil.getMembershipPolicy();
043    
044                    return membershipPolicy.getForbiddenOrganizations(user);
045            }
046    
047            public static Set<Role> getForbiddenRoles(Group group, User user) {
048                    MembershipPolicy membershipPolicy =
049                            MembershipPolicyFactoryUtil.getMembershipPolicy();
050    
051                    return membershipPolicy.getForbiddenRoles(group, user);
052            }
053    
054            public static Set<Role> getForbiddenRoles(User user) {
055                    MembershipPolicy membershipPolicy =
056                            MembershipPolicyFactoryUtil.getMembershipPolicy();
057    
058                    return membershipPolicy.getForbiddenRoles(user);
059            }
060    
061            public static Set<Role> getForbiddenRoles(
062                    User user, Organization organization) {
063    
064                    MembershipPolicy membershipPolicy =
065                            MembershipPolicyFactoryUtil.getMembershipPolicy();
066    
067                    return membershipPolicy.getForbiddenRoles(organization, user);
068            }
069    
070            public static Set<UserGroup> getForbiddenUserGroups(User user) {
071                    MembershipPolicy membershipPolicy =
072                            MembershipPolicyFactoryUtil.getMembershipPolicy();
073    
074                    return membershipPolicy.getForbiddenUserGroups(user);
075            }
076    
077            public static Set<Group> getMandatoryGroups(User user) {
078                    MembershipPolicy membershipPolicy =
079                            MembershipPolicyFactoryUtil.getMembershipPolicy();
080    
081                    return membershipPolicy.getMandatoryGroups(user);
082            }
083    
084            public static Set<Organization> getMandatoryOrganizations(User user) {
085                    MembershipPolicy membershipPolicy =
086                            MembershipPolicyFactoryUtil.getMembershipPolicy();
087    
088                    return membershipPolicy.getMandatoryOrganizations(user);
089            }
090    
091            public static Set<Role> getMandatoryRoles(Group group, User user) {
092                    MembershipPolicy membershipPolicy =
093                            MembershipPolicyFactoryUtil.getMembershipPolicy();
094    
095                    return membershipPolicy.getMandatoryRoles(group, user);
096            }
097    
098            public static Set<Role> getMandatoryRoles(
099                    Organization organization, User user) {
100    
101                    MembershipPolicy membershipPolicy =
102                            MembershipPolicyFactoryUtil.getMembershipPolicy();
103    
104                    return membershipPolicy.getMandatoryRoles(organization, user);
105            }
106    
107            public static Set<Role> getMandatoryRoles(User user) {
108                    MembershipPolicy membershipPolicy =
109                            MembershipPolicyFactoryUtil.getMembershipPolicy();
110    
111                    return membershipPolicy.getMandatoryRoles(user);
112            }
113    
114            public static Set<UserGroup> getMandatoryUserGroups(User user) {
115                    MembershipPolicy membershipPolicy =
116                            MembershipPolicyFactoryUtil.getMembershipPolicy();
117    
118                    return membershipPolicy.getMandatoryUserGroups(user);
119            }
120    
121            public static boolean isApplicableUser(User user) {
122                    MembershipPolicy membershipPolicy =
123                            MembershipPolicyFactoryUtil.getMembershipPolicy();
124    
125                    return membershipPolicy.isApplicableUser(user);
126            }
127    
128            public static boolean isMembershipAllowed(
129                    Group group, Role role, User user) {
130    
131                    MembershipPolicy membershipPolicy =
132                            MembershipPolicyFactoryUtil.getMembershipPolicy();
133    
134                    return membershipPolicy.isMembershipAllowed(group, role, user);
135            }
136    
137            public static boolean isMembershipAllowed(Group group, User user) {
138                    MembershipPolicy membershipPolicy =
139                            MembershipPolicyFactoryUtil.getMembershipPolicy();
140    
141                    return membershipPolicy.isMembershipAllowed(group, user);
142            }
143    
144            public static boolean isMembershipAllowed(
145                    Organization organization, Role role, User user) {
146    
147                    MembershipPolicy membershipPolicy =
148                            MembershipPolicyFactoryUtil.getMembershipPolicy();
149    
150                    return membershipPolicy.isMembershipAllowed(organization, role, user);
151            }
152    
153            public static boolean isMembershipAllowed(
154                    Organization organization, User user) {
155    
156                    MembershipPolicy membershipPolicy =
157                            MembershipPolicyFactoryUtil.getMembershipPolicy();
158    
159                    return membershipPolicy.isMembershipAllowed(organization, user);
160            }
161    
162            public static boolean isMembershipAllowed(Role role, User user) {
163                    MembershipPolicy membershipPolicy =
164                            MembershipPolicyFactoryUtil.getMembershipPolicy();
165    
166                    return membershipPolicy.isMembershipAllowed(role, user);
167            }
168    
169            public static boolean isMembershipAllowed(UserGroup userGroup, User user) {
170                    MembershipPolicy membershipPolicy =
171                            MembershipPolicyFactoryUtil.getMembershipPolicy();
172    
173                    return membershipPolicy.isMembershipAllowed(userGroup, user);
174            }
175    
176            public static boolean isMembershipProtected(
177                            PermissionChecker permissionChecker, Group group, Role role,
178                            User user)
179                    throws PortalException, SystemException {
180    
181                    MembershipPolicy membershipPolicy =
182                            MembershipPolicyFactoryUtil.getMembershipPolicy();
183    
184                    return membershipPolicy.isMembershipProtected(
185                            permissionChecker, group, role, user);
186            }
187    
188            public static boolean isMembershipProtected(
189                            PermissionChecker permissionChecker, Group group, User user)
190                    throws PortalException, SystemException {
191    
192                    MembershipPolicy membershipPolicy =
193                            MembershipPolicyFactoryUtil.getMembershipPolicy();
194    
195                    return membershipPolicy.isMembershipProtected(
196                            permissionChecker, group, user);
197            }
198    
199            public static boolean isMembershipProtected(
200                            PermissionChecker permissionChecker, Organization organization,
201                            Role role, User user)
202                    throws SystemException {
203    
204                    MembershipPolicy membershipPolicy =
205                            MembershipPolicyFactoryUtil.getMembershipPolicy();
206    
207                    return membershipPolicy.isMembershipProtected(
208                            permissionChecker, organization, role, user);
209            }
210    
211            public static boolean isMembershipProtected(
212                            PermissionChecker permissionChecker, Organization organization,
213                            User user)
214                    throws PortalException, SystemException {
215    
216                    MembershipPolicy membershipPolicy =
217                            MembershipPolicyFactoryUtil.getMembershipPolicy();
218    
219                    return membershipPolicy.isMembershipProtected(
220                            permissionChecker, organization, user);
221            };
222    
223    }