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.lang;
016    
017    import com.liferay.portal.kernel.util.AutoResetThreadLocal;
018    import com.liferay.portal.security.pacl.PACLPolicy;
019    
020    /**
021     * @author Brian Wing Shun Chan
022     * @author Raymond Augé
023     */
024    public class PortalSecurityManagerThreadLocal {
025    
026            public static PACLPolicy getPACLPolicy() {
027                    return _paclPolicy.get();
028            }
029    
030            public static boolean isCheckCreateClassLoader() {
031                    return _checkCreateClassLoader.get();
032            }
033    
034            public static boolean isCheckGetClassLoader() {
035                    return _checkGetClassLoader.get();
036            }
037    
038            public static boolean isCheckReadFile() {
039                    return _checkReadFile.get();
040            }
041    
042            public static boolean isCheckReadFileDescriptor() {
043                    return _checkReadFileDescriptor.get();
044            }
045    
046            public static boolean isCheckSQL() {
047                    return _checkSQL.get();
048            }
049    
050            public static boolean isCheckWriteFileDescriptor() {
051                    return _checkWriteFileDescriptor.get();
052            }
053    
054            public static boolean isEnabled() {
055                    return _enabled.get();
056            }
057    
058            public static void setCheckCreateClassLoader(
059                    boolean checkCreateClassLoader) {
060    
061                    _checkCreateClassLoader.set(checkCreateClassLoader);
062            }
063    
064            public static void setCheckGetClassLoader(boolean checkGetClassLoader) {
065                    _checkGetClassLoader.set(checkGetClassLoader);
066            }
067    
068            public static void setCheckReadFile(boolean checkReadFile) {
069                    _checkReadFile.set(checkReadFile);
070            }
071    
072            public static void setCheckReadFileDescriptor(
073                    boolean checkReadFileDescriptor) {
074    
075                    _checkReadFileDescriptor.set(checkReadFileDescriptor);
076            }
077    
078            public static void setCheckSQL(boolean checkSQL) {
079                    _checkSQL.set(checkSQL);
080            }
081    
082            public static void setCheckWriteFileDescriptor(
083                    boolean checkWriteFileDescriptor) {
084    
085                    _checkWriteFileDescriptor.set(checkWriteFileDescriptor);
086            }
087    
088            public static void setEnabled(boolean enabled) {
089                    _enabled.set(enabled);
090            }
091    
092            public static void setPACLPolicy(PACLPolicy paclPolicy) {
093                    _paclPolicy.set(paclPolicy);
094            }
095    
096            private static ThreadLocal<Boolean> _checkCreateClassLoader =
097                    new AutoResetThreadLocal<Boolean>(
098                            PortalSecurityManagerThreadLocal.class + "._checkCreateClassLoader",
099                            true);
100            private static ThreadLocal<Boolean> _checkGetClassLoader =
101                    new AutoResetThreadLocal<Boolean>(
102                            PortalSecurityManagerThreadLocal.class + "._checkGetClassLoader",
103                            true);
104            private static ThreadLocal<Boolean> _checkReadFile =
105                    new AutoResetThreadLocal<Boolean>(
106                            PortalSecurityManagerThreadLocal.class + "._checkReadFile", true);
107            private static ThreadLocal<Boolean> _checkReadFileDescriptor =
108                    new AutoResetThreadLocal<Boolean>(
109                            PortalSecurityManagerThreadLocal.class +
110                                    "._checkReadFileDescriptor",
111                            true);
112            private static ThreadLocal<Boolean> _checkSQL =
113                    new AutoResetThreadLocal<Boolean>(
114                            PortalSecurityManagerThreadLocal.class + "._checkSQL", true);
115            private static ThreadLocal<Boolean> _checkWriteFileDescriptor =
116                    new AutoResetThreadLocal<Boolean>(
117                            PortalSecurityManagerThreadLocal.class +
118                                    "._checkWriteFileDescriptor",
119                            true);
120            private static ThreadLocal<Boolean> _enabled =
121                    new AutoResetThreadLocal<Boolean>(
122                            PortalSecurityManagerThreadLocal.class + "._enabled", true);
123            private static ThreadLocal<PACLPolicy> _paclPolicy =
124                    new AutoResetThreadLocal<PACLPolicy>(
125                            PortalSecurityManagerThreadLocal.class + "._paclPolicy");
126    
127    }