View Javadoc

1   package com.atlassian.seraph.cookie;
2   
3   import com.atlassian.seraph.config.SecurityConfig;
4   
5   /**
6    * Factory for cookie-related interfaces.
7    * <p>
8    * <b>Note:</b> Without initialisation the CookieHandler will return an <code>InsecureCookieEncoder</code>. However
9    * after <code>init()</code> has been called an <code>EncryptedCookieEncoder</code> will be returned.
10   */
11  public class CookieFactory
12  {
13      private static CookieHandler cookieHandler = new DefaultCookieHandler();
14      private static CookieEncoder cookieEncoder = new InsecureCookieEncoder();
15  
16      public static void init(SecurityConfig config)
17      {
18          cookieEncoder = new EncryptedCookieEncoder(config.getCookieEncoding());
19      }
20  
21      public static CookieHandler getCookieHandler()
22      {
23          return cookieHandler;
24      }
25  
26      public static CookieEncoder getCookieEncoder() 
27      {
28          return cookieEncoder;
29      }
30  
31      public static void setCookieHandler(CookieHandler handler)
32      {
33          cookieHandler = handler;
34      }
35  
36      public static void setCookieEncoder(CookieEncoder encoder) {
37          cookieEncoder = encoder;
38      }
39  }