1 63 package com.ivata.groupware.admin.security.server; 64 65 import java.io.IOException ; 66 import java.io.ObjectInputStream ; 67 import java.io.ObjectOutputStream ; 68 import java.io.Serializable ; 69 import java.util.HashMap ; 70 import java.util.Map ; 71 72 import org.picocontainer.MutablePicoContainer; 73 import org.picocontainer.PicoContainer; 74 import org.picocontainer.defaults.DefaultPicoContainer; 75 76 import com.ivata.groupware.admin.security.user.UserDO; 77 import com.ivata.groupware.container.PicoContainerFactory; 78 import com.ivata.mask.util.SystemException; 79 80 89 public abstract class AbstractSecuritySession implements SecuritySession { 90 91 94 private int access; 95 98 private Map attributes = new HashMap (); 99 104 private PicoContainer container; 105 private String password; 106 107 110 private UserDO user; 111 112 118 public AbstractSecuritySession(PicoContainer container, UserDO user) 119 throws SystemException { 120 MutablePicoContainer mutableParent = 121 new DefaultPicoContainer(container); 122 mutableParent.registerComponentInstance( 123 SecuritySession.class, this); 124 MutablePicoContainer childContainer = PicoContainerFactory 125 .getInstance().override(mutableParent); 126 childContainer.registerComponentInstance(SecuritySession.class, 127 this); 128 129 this.container = childContainer; 130 this.user = user; 131 } 132 133 140 public final int getAccess() { 141 return access; 142 } 143 144 152 public final Serializable getAttribute(final String name) { 153 return (Serializable ) attributes.get(name); 154 } 155 156 162 public final PicoContainer getContainer() { 163 return container; 164 } 165 166 167 170 public String getPassword() { 171 return password; 172 } 173 174 177 public UserDO getUser() { 178 return user; 179 } 180 181 185 public boolean isGuest() { 186 return ((user == null) 187 || "guest".equals(user.getName())); 188 } 189 190 199 private void readObject(final ObjectInputStream ois) throws ClassNotFoundException ,IOException { 200 ois.defaultReadObject(); 201 } 202 203 210 public final void setAccess(final int access) { 211 this.access = access; 212 } 213 214 222 public final void setAttribute(final String name, 223 final Serializable value) { 224 attributes.put(name, value); 225 } 226 230 public void setPassword(String passwordParam) { 231 password = passwordParam; 232 } 233 240 private void writeObject(final ObjectOutputStream oos) throws IOException { 241 oos.defaultWriteObject(); 242 } 243 } 244 | Popular Tags |