View Javadoc

1   /**
2    * - Digitalis Internal Framework v2.0 - (C) 2007, Digitalis Informatica. Distribuicao e Gestao de Informatica, Lda.
3    * Estrada de Paco de Arcos num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999
4    * http://www.digitalis.pt
5    */
6   package pt.digitalis.dif.controller.interfaces;
7   
8   import java.util.Map;
9   
10  import pt.digitalis.dif.controller.objects.DIFUserInSession;
11  
12  /**
13   * Defines a public accessible DIF Session
14   * 
15   * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a><br/>
16   * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
17   * @created Nov 29, 2007
18   */
19  public interface IDIFSession {
20  
21      /**
22       * Stores a new attribute in the session.
23       * 
24       * @param key
25       *            the key of the attribute
26       * @param value
27       *            the value of the new attribute
28       */
29      public void addAttribute(String key, Object value);
30  
31      /**
32       * Stores a new attribute in the session.
33       * 
34       * @param key
35       *            the key of the attribute
36       * @return T if the attribute for the given key exists
37       */
38      public boolean containsAttribute(String key);
39  
40      /**
41       * Retrieves a given attributes by id.
42       * 
43       * @param key
44       *            the key of the attribute
45       * @return the attribute value
46       */
47      public Object getAttribute(String key);
48  
49      /**
50       * Retrieves all session attributes.
51       * 
52       * @return the session attributes Map
53       */
54      public Map<String, Object> getAttributes();
55  
56      /**
57       * @return the language
58       */
59      public String getLanguage();
60  
61      /**
62       * Provides the current session navigation history objet
63       * 
64       * @return the navigation history object in session
65       */
66      public INavigationHistory getNavigationHistory();
67  
68      /**
69       * @return the sessionID
70       */
71      public String getSessionID();
72  
73      /**
74       * Inspector for the session time-out value.
75       * 
76       * @return the session time-out value
77       */
78      public long getSessionTimeOut();
79  
80      /**
81       * Gets the user in session.
82       * 
83       * @return the user in session
84       */
85      public DIFUserInSession getUser();
86  
87      /**
88       * Checks if session has timed out.
89       * 
90       * @return T if session has timed out, F otherwise
91       */
92      public boolean hasTimedOut();
93  
94      /**
95       * Checks if the session has a logged user
96       * 
97       * @return T if if is logged
98       */
99      public boolean isLogged();
100 
101     /**
102      * @return T if the session has been marked for removal
103      */
104     public boolean isMarkedForRemoval();
105 
106     /**
107      * Sets all session attributes.
108      * 
109      * @param attributes
110      *            the session attributes to set
111      */
112     public void setAttributes(Map<String, Object> attributes);
113 
114     /**
115      * @param language
116      *            the language to set
117      */
118     public void setLanguage(String language);
119 
120     /**
121      * Sets the session time-out value.
122      * 
123      * @param sessionTimeOut
124      *            the session time out new value to set
125      */
126     public void setSessionTimeOut(long sessionTimeOut);
127 
128     /**
129      * Sets the user in session.
130      * 
131      * @param user
132      *            the user to set
133      */
134     public void setUser(DIFUserInSession user);
135 }