1
22
23 package com.liferay.portlet;
24
25 import com.liferay.portal.kernel.log.Log;
26 import com.liferay.portal.kernel.log.LogFactoryUtil;
27 import com.liferay.portal.kernel.util.StringPool;
28 import com.liferay.portal.kernel.util.Validator;
29
30
35 public class PortalPreferencesImpl implements PortalPreferences {
36
37 public PortalPreferencesImpl(
38 PortletPreferencesImpl prefs, boolean signedIn) {
39
40 _prefs = prefs;
41 _signedIn = signedIn;
42 }
43
44 public String getValue(String namespace, String key) {
45 return getValue(namespace, key, null);
46 }
47
48 public String getValue(String namespace, String key, String defaultValue) {
49 key = _encodeKey(namespace, key);
50
51 return _prefs.getValue(key, defaultValue);
52 }
53
54 public String[] getValues(String namespace, String key) {
55 return getValues(namespace, key, null);
56 }
57
58 public String[] getValues(
59 String namespace, String key, String[] defaultValue) {
60
61 key = _encodeKey(namespace, key);
62
63 return _prefs.getValues(key, defaultValue);
64 }
65
66 public void setValue(String namespace, String key, String value) {
67 if (Validator.isNull(key) || (key.equals(_RANDOM_KEY))) {
68 return;
69 }
70
71 key = _encodeKey(namespace, key);
72
73 try {
74 if (value != null) {
75 _prefs.setValue(key, value);
76 }
77 else {
78 _prefs.reset(key);
79 }
80
81 if (_signedIn) {
82 _prefs.store();
83 }
84 }
85 catch (Exception e) {
86 _log.error(e, e);
87 }
88 }
89
90 public void setValues(String namespace, String key, String[] values) {
91 if (Validator.isNull(key) || (key.equals(_RANDOM_KEY))) {
92 return;
93 }
94
95 key = _encodeKey(namespace, key);
96
97 try {
98 if (values != null) {
99 _prefs.setValues(key, values);
100 }
101 else {
102 _prefs.reset(key);
103 }
104
105 if (_signedIn) {
106 _prefs.store();
107 }
108 }
109 catch (Exception e) {
110 _log.error(e, e);
111 }
112 }
113
114 private String _encodeKey(String namespace, String key) {
115 return namespace + StringPool.POUND + key;
116 }
117
118 private static final String _RANDOM_KEY = "r";
119
120 private static Log _log = LogFactoryUtil.getLog(PortalPreferences.class);
121
122 private PortletPreferencesImpl _prefs;
123 private boolean _signedIn;
124
125 }