View Javadoc

1   package com.atlassian.sal.testresources.usersettings;
2   
3   import com.atlassian.fugue.Option;
4   import com.atlassian.sal.api.usersettings.UserSettings;
5   import com.atlassian.sal.api.usersettings.UserSettingsBuilder;
6   
7   import java.util.HashMap;
8   import java.util.Map;
9   import java.util.Set;
10  
11  public class MockUserSettingsBuilder implements UserSettingsBuilder
12  {
13      private final Map<String, Object> settings = new HashMap<String, Object>();
14  
15      public MockUserSettingsBuilder(UserSettings userSettings)
16      {
17          for (String key : userSettings.getKeys())
18          {
19              for (Boolean value : userSettings.getBoolean(key))
20              {
21                  settings.put(key, value);
22              }
23              for (String value : userSettings.getString(key))
24              {
25                  settings.put(key, value);
26              }
27              for (Long value : userSettings.getLong(key))
28              {
29                  settings.put(key, value);
30              }
31          }
32      }
33  
34      public MockUserSettingsBuilder()
35      {
36  
37      }
38  
39      @Override
40      public UserSettingsBuilder put(String key, String value)
41      {
42          settings.put(key, value);
43          return this;
44      }
45  
46      @Override
47      public UserSettingsBuilder put(String key, boolean value)
48      {
49          settings.put(key, value);
50          return this;
51      }
52  
53      @Override
54      public UserSettingsBuilder put(String key, long value)
55      {
56          settings.put(key, value);
57          return this;
58      }
59  
60      @Override
61      public UserSettingsBuilder remove(String key)
62      {
63          settings.remove(key);
64          return this;
65      }
66  
67      @Override
68      public Option<Object> get(String key)
69      {
70          return settings.containsKey(key) ? Option.some(settings.get(key)) : Option.none();
71      }
72  
73      @Override
74      public Set<String> getKeys()
75      {
76          return settings.keySet();
77      }
78  
79      @Override
80      public UserSettings build()
81      {
82          return new MockUserSettings(settings);
83      }
84  
85      public static UserSettingsBuilder builder()
86      {
87          return new MockUserSettingsBuilder();
88      }
89  
90      public static UserSettingsBuilder builder(UserSettings userSettings)
91      {
92          return new MockUserSettingsBuilder(userSettings);
93      }
94  }