1 41 package com.mvnforum.auth; 42 43 import java.util.ArrayList ; 44 import java.util.Iterator ; 45 46 import org.apache.commons.logging.Log; 47 import org.apache.commons.logging.LogFactory; 48 49 53 class ChannelListPermission { 54 55 private static Log log = LogFactory.getLog(ChannelListPermission.class); 56 57 ArrayList channelList = new ArrayList (); 58 59 boolean allChannelsPermission = false; 60 61 boolean bypassPrivateChannel = false; 62 63 public ChannelListPermission() { 64 } 65 66 void setAllChannelsPermission(boolean permission) { 67 allChannelsPermission = permission; 68 } 69 70 void setChannelPermission(int channelID, boolean permission) { 71 Iterator iter = channelList.iterator(); 73 while (iter.hasNext()) { 74 int currentChannelID = ((Integer ) iter.next()).intValue(); 75 if (currentChannelID == channelID) { 76 iter.remove(); 77 } 78 } 80 if (permission) { 82 channelList.add(new Integer (channelID)); 84 } 85 } 86 87 boolean hasPermission(int channelID) { 88 89 for (int i = 0; i < channelList.size(); i++) { 90 int currentChannelID = ((Integer )channelList.get(i)).intValue(); 91 if (currentChannelID == channelID) { 92 return true; 93 } 94 } 95 96 if (allChannelsPermission) { 98 if (bypassPrivateChannel) { 99 return true; 100 } 101 102 return true; 104 113 } 114 115 return false; 117 } 118 119 boolean hasPermssionInAnyChannels() { 120 121 if (channelList.size() > 0) { 123 return true; 125 } 126 127 if (allChannelsPermission) { 129 if (bypassPrivateChannel) { 130 return true; 131 } 132 133 return true; 135 147 } 148 149 return false; 151 } 152 153 public boolean isBypassPrivateChannel() { 154 return bypassPrivateChannel; 155 } 156 157 public void setBypassPrivateChannel(boolean ignorePrivateOption) { 158 this.bypassPrivateChannel = ignorePrivateOption; 159 } 160 } 161 | Popular Tags |