Coverage Report - pt.digitalis.dif.controller.security.objects.IDIFUser
 
Classes in this File Line Coverage Branch Coverage Complexity
IDIFUser
N/A
N/A
1
 
 1  
 /**
 2  
  * 2007, Digitalis Informatica. All rights reserved. Distribuicao e Gestao de Informatica, Lda. Estrada de Paco de Arcos
 3  
  * num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999 http://www.digitalis.pt
 4  
  */
 5  
 package pt.digitalis.dif.controller.security.objects;
 6  
 
 7  
 import java.util.List;
 8  
 import java.util.Map;
 9  
 import java.util.Set;
 10  
 
 11  
 import pt.digitalis.dif.exception.InternalFrameworkException;
 12  
 import pt.digitalis.dif.exception.security.IdentityManagerException;
 13  
 import pt.digitalis.utils.common.collections.CaseInsensitiveHashMap;
 14  
 
 15  
 /**
 16  
  * Defines the DIF user features interface
 17  
  * 
 18  
  * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
 19  
  * @author Rodrigo Gon�alves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a><br/>
 20  
  * @created Dec 3, 2007
 21  
  */
 22  
 public interface IDIFUser extends IUserAuthorization {
 23  
 
 24  
     /**
 25  
      * Adds the temporary group. This user group has the session life expectancy
 26  
      * 
 27  
      * @param groupId
 28  
      *            the group id
 29  
      */
 30  
     public void addTempGroup(String groupId);
 31  
 
 32  
     /**
 33  
      * Clears any existing cache
 34  
      */
 35  
     public void cleanCache();
 36  
 
 37  
     /**
 38  
      * Searches for a given attribute
 39  
      * 
 40  
      * @param id
 41  
      *            the id of the attribute to search
 42  
      * @return T if the attribute is present
 43  
      */
 44  
     public boolean containsAttribute(String id);
 45  
 
 46  
     /**
 47  
      * Searches for a given parameter
 48  
      * 
 49  
      * @param id
 50  
      *            the id of the parameter to search
 51  
      * @return T if the parameter is present
 52  
      */
 53  
     public boolean containsParameter(String id);
 54  
 
 55  
     /**
 56  
      * Gets the user attribute.
 57  
      * 
 58  
      * @param id
 59  
      *            the id of the attribute
 60  
      * @return the user attribute
 61  
      */
 62  
     public Object getAttribute(String id);
 63  
 
 64  
     /**
 65  
      * Gets the user attribute list.
 66  
      * 
 67  
      * @return the user attribute list
 68  
      */
 69  
     public CaseInsensitiveHashMap<Object> getAttributes();
 70  
 
 71  
     /**
 72  
      * Inspector for the 'attributesToRemove' attribute.
 73  
      * 
 74  
      * @return the attributesToRemove value
 75  
      */
 76  
     public List<String> getAttributesToRemove();
 77  
 
 78  
     /**
 79  
      * Returns the user e-mail address.
 80  
      * 
 81  
      * @return the user e-mail
 82  
      */
 83  
     public String getEmail();
 84  
 
 85  
     /**
 86  
      * Retrieves the list of group ids associated with this user
 87  
      * 
 88  
      * @return the groups
 89  
      * @throws IdentityManagerException
 90  
      *             if the users can't be found on the identity manager
 91  
      */
 92  
     public Set<String> getGroupIDs() throws IdentityManagerException;
 93  
 
 94  
     /**
 95  
      * Retrieves the list of groups associated with this user
 96  
      * 
 97  
      * @return the groups
 98  
      * @throws IdentityManagerException
 99  
      *             if the groups can't be found on the identity manager
 100  
      */
 101  
     public Map<String, IDIFGroup> getGroups() throws IdentityManagerException;
 102  
 
 103  
     /**
 104  
      * Returns the user id.
 105  
      * 
 106  
      * @return the user id
 107  
      */
 108  
     public String getID();
 109  
 
 110  
     /**
 111  
      * Returns the user full name.
 112  
      * 
 113  
      * @return the user's full name
 114  
      */
 115  
     public String getName();
 116  
 
 117  
     /**
 118  
      * Returns the user's nick name.
 119  
      * 
 120  
      * @return the user's nick name
 121  
      */
 122  
     public String getNick();
 123  
 
 124  
     /**
 125  
      * Gets a user parameter.
 126  
      * 
 127  
      * @param id
 128  
      *            the id of the parameter
 129  
      * @return the user parameter
 130  
      */
 131  
     public Object getParameter(String id);
 132  
 
 133  
     /**
 134  
      * Gets the user parameter list.
 135  
      * 
 136  
      * @return the user parameter list
 137  
      */
 138  
     public Map<String, Object> getParameters();
 139  
 
 140  
     /**
 141  
      * Retrieves the user profile or default group
 142  
      * 
 143  
      * @return the profile group
 144  
      * @throws IdentityManagerException
 145  
      *             if the profile can't be found on the identity manager
 146  
      */
 147  
     public IDIFGroup getProfile() throws IdentityManagerException;
 148  
 
 149  
     /**
 150  
      * Retrieves the user profile or default group ID
 151  
      * 
 152  
      * @return the profile group
 153  
      * @throws IdentityManagerException
 154  
      *             if the profile can't be accessed
 155  
      */
 156  
     public String getProfileID() throws IdentityManagerException;
 157  
 
 158  
     /**
 159  
      * @param attrs
 160  
      *            the new attributes to set
 161  
      */
 162  
     public void initializeAttributes(Map<String, Object> attrs);
 163  
 
 164  
     /**
 165  
      * A default user is a user that is created by the default configuration of the application. As such it cannot be
 166  
      * deleted. Only disabled.
 167  
      * 
 168  
      * @return T if the user is a default user
 169  
      */
 170  
     public boolean isDefault();
 171  
 
 172  
     /**
 173  
      * A disabled user will not be able to log on
 174  
      * 
 175  
      * @return T if the user is enabled
 176  
      */
 177  
     public boolean isEnabled();
 178  
 
 179  
     /**
 180  
      * Refreshes the current user from the persistent layer
 181  
      */
 182  
     public void refresh();
 183  
 
 184  
     /**
 185  
      * Removes the user attribute.
 186  
      * 
 187  
      * @param id
 188  
      *            the id of the attribute
 189  
      */
 190  
     public void removeAttribute(String id);
 191  
 
 192  
     /**
 193  
      * Removes the user parameter.
 194  
      * 
 195  
      * @param id
 196  
      *            the id of the parameter
 197  
      */
 198  
     public void removeParameter(String id);
 199  
 
 200  
     /**
 201  
      * Removes the temporary group.
 202  
      * 
 203  
      * @param groupId
 204  
      *            the group id
 205  
      */
 206  
     public void removeTempGroup(String groupId);
 207  
 
 208  
     /**
 209  
      * Sets the user attribute.
 210  
      * 
 211  
      * @param id
 212  
      *            the id of the attribute
 213  
      * @param attribute
 214  
      *            the attribute to set
 215  
      * @throws InternalFrameworkException
 216  
      *             if the attribute can't be set
 217  
      */
 218  
     public void setAttribute(String id, Object attribute) throws InternalFrameworkException;
 219  
 
 220  
     /**
 221  
      * Sets the attributes.
 222  
      * 
 223  
      * @param attributes
 224  
      *            the attributes to set
 225  
      * @throws InternalFrameworkException
 226  
      *             if the attribute can't be set
 227  
      */
 228  
     public void setAttributes(Map<String, Object> attributes) throws InternalFrameworkException;
 229  
 
 230  
     /**
 231  
      * Sets the user as a default user.
 232  
      * 
 233  
      * @param isDefault
 234  
      */
 235  
     public void setDefault(boolean isDefault);
 236  
 
 237  
     /**
 238  
      * Sets the user e-mail address.
 239  
      * 
 240  
      * @param email
 241  
      *            the email to set
 242  
      */
 243  
     public void setEmail(String email);
 244  
 
 245  
     /**
 246  
      * @param enabled
 247  
      *            the enabled to set
 248  
      */
 249  
     public void setEnabled(boolean enabled);
 250  
 
 251  
     /**
 252  
      * Sets the user id.
 253  
      * 
 254  
      * @param id
 255  
      *            the id to set
 256  
      */
 257  
     public void setID(String id);
 258  
 
 259  
     /**
 260  
      * Sets the user full name.
 261  
      * 
 262  
      * @param name
 263  
      *            the name to set
 264  
      */
 265  
     public void setName(String name);
 266  
 
 267  
     /**
 268  
      * Sets the user nick name.
 269  
      * 
 270  
      * @param nick
 271  
      *            the nick name to set
 272  
      */
 273  
     public void setNick(String nick);
 274  
 
 275  
     /**
 276  
      * Sets the user parameters.
 277  
      * 
 278  
      * @param id
 279  
      *            the id of the parameter
 280  
      * @param parameter
 281  
      *            the parameter to set
 282  
      */
 283  
     public void setParameter(String id, Object parameter);
 284  
 
 285  
     /**
 286  
      * Sets the parameters.
 287  
      * 
 288  
      * @param parameters
 289  
      *            the parameters to set
 290  
      */
 291  
     public void setParameters(Map<String, Object> parameters);
 292  
 
 293  
     /**
 294  
      * Sets the user password.
 295  
      * 
 296  
      * @param password
 297  
      *            the password to set
 298  
      */
 299  
     public void setPassword(String password);
 300  
 
 301  
     /**
 302  
      * Sets the profile ID or default group of the user
 303  
      * 
 304  
      * @param profileGroupID
 305  
      *            the group to set as the profile
 306  
      */
 307  
     public void setProfileID(String profileGroupID);
 308  
 
 309  
 }