--- /dev/null
+/*!
+ * Ext JS Library 3.0.0
+ * Copyright(c) 2006-2009 Ext JS, LLC
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+/**\r
+ * @class Ext.state.Manager\r
+ * This is the global state manager. By default all components that are "state aware" check this class\r
+ * for state information if you don't pass them a custom state provider. In order for this class\r
+ * to be useful, it must be initialized with a provider when your application initializes. Example usage:\r
+ <pre><code>\r
+// in your initialization function\r
+init : function(){\r
+ Ext.state.Manager.setProvider(new Ext.state.CookieProvider());\r
+ var win = new Window(...);\r
+ win.restoreState();\r
+}\r
+ </code></pre>\r
+ * @singleton\r
+ */\r
+Ext.state.Manager = function(){\r
+ var provider = new Ext.state.Provider();\r
+\r
+ return {\r
+ /**\r
+ * Configures the default state provider for your application\r
+ * @param {Provider} stateProvider The state provider to set\r
+ */\r
+ setProvider : function(stateProvider){\r
+ provider = stateProvider;\r
+ },\r
+\r
+ /**\r
+ * Returns the current value for a key\r
+ * @param {String} name The key name\r
+ * @param {Mixed} defaultValue The default value to return if the key lookup does not match\r
+ * @return {Mixed} The state data\r
+ */\r
+ get : function(key, defaultValue){\r
+ return provider.get(key, defaultValue);\r
+ },\r
+\r
+ /**\r
+ * Sets the value for a key\r
+ * @param {String} name The key name\r
+ * @param {Mixed} value The state data\r
+ */\r
+ set : function(key, value){\r
+ provider.set(key, value);\r
+ },\r
+\r
+ /**\r
+ * Clears a value from the state\r
+ * @param {String} name The key name\r
+ */\r
+ clear : function(key){\r
+ provider.clear(key);\r
+ },\r
+\r
+ /**\r
+ * Gets the currently configured state provider\r
+ * @return {Provider} The state provider\r
+ */\r
+ getProvider : function(){\r
+ return provider;\r
+ }\r
+ };\r
+}();
\ No newline at end of file