Upgrade to ExtJS 4.0.7 - Released 10/19/2011
[extjs.git] / docs / source / Proxy2.html
index bb3ce15..512da99 100644 (file)
@@ -1,42 +1,52 @@
-<!DOCTYPE html><html><head><title>Sencha Documentation Project</title><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../prettify.css" type="text/css"><link rel="stylesheet" href="../prettify_sa.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script></head><body onload="prettyPrint()"><pre class="prettyprint"><pre><span id='Ext-data.proxy.Proxy-method-constructor'><span id='Ext-data.proxy.Proxy'>/**
-</span></span> * @author Ed Spencer
- * @class Ext.data.proxy.Proxy
- * 
- * &lt;p&gt;Proxies are used by {@link Ext.data.Store Stores} to handle the loading and saving of {@link Ext.data.Model Model} data.
- * Usually developers will not need to create or interact with proxies directly.&lt;/p&gt;
- * &lt;p&gt;&lt;u&gt;Types of Proxy&lt;/u&gt;&lt;/p&gt;
- * 
- * &lt;p&gt;There are two main types of Proxy - {@link Ext.data.proxy.Client Client} and {@link Ext.data.proxy.Server Server}. The Client proxies
- * save their data locally and include the following subclasses:&lt;/p&gt;
- * 
- * &lt;ul style=&quot;list-style-type: disc; padding-left: 25px&quot;&gt;
- * &lt;li&gt;{@link Ext.data.proxy.LocalStorage LocalStorageProxy} - saves its data to localStorage if the browser supports it&lt;/li&gt;
- * &lt;li&gt;{@link Ext.data.proxy.SessionStorage SessionStorageProxy} - saves its data to sessionStorage if the browsers supports it&lt;/li&gt;
- * &lt;li&gt;{@link Ext.data.proxy.Memory MemoryProxy} - holds data in memory only, any data is lost when the page is refreshed&lt;/li&gt;
- * &lt;/ul&gt;
- * 
- * &lt;p&gt;The Server proxies save their data by sending requests to some remote server. These proxies include:&lt;/p&gt;
- * 
- * &lt;ul style=&quot;list-style-type: disc; padding-left: 25px&quot;&gt;
- * &lt;li&gt;{@link Ext.data.proxy.Ajax Ajax} - sends requests to a server on the same domain&lt;/li&gt;
- * &lt;li&gt;{@link Ext.data.proxy.JsonP JsonP} - uses JSON-P to send requests to a server on a different domain&lt;/li&gt;
- * &lt;li&gt;{@link Ext.data.proxy.Direct Direct} - uses {@link Ext.direct} to send requests&lt;/li&gt;
- * &lt;/ul&gt;
- * 
- * &lt;p&gt;Proxies operate on the principle that all operations performed are either Create, Read, Update or Delete. These four operations 
- * are mapped to the methods {@link #create}, {@link #read}, {@link #update} and {@link #destroy} respectively. Each Proxy subclass 
- * implements these functions.&lt;/p&gt;
- * 
- * &lt;p&gt;The CRUD methods each expect an {@link Ext.data.Operation Operation} object as the sole argument. The Operation encapsulates 
- * information about the action the Store wishes to perform, the {@link Ext.data.Model model} instances that are to be modified, etc.
- * See the {@link Ext.data.Operation Operation} documentation for more details. Each CRUD method also accepts a callback function to be 
- * called asynchronously on completion.&lt;/p&gt;
- * 
- * &lt;p&gt;Proxies also support batching of Operations via a {@link Ext.data.Batch batch} object, invoked by the {@link #batch} method.&lt;/p&gt;
- * 
- * @constructor
- * Creates the Proxy
- * @param {Object} config Optional config object
+<!DOCTYPE html>
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <title>The source code</title>
+  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
+  <style type="text/css">
+    .highlight { display: block; background-color: #ddd; }
+  </style>
+  <script type="text/javascript">
+    function highlight() {
+      document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
+    }
+  </script>
+</head>
+<body onload="prettyPrint(); highlight();">
+  <pre class="prettyprint lang-js"><span id='Ext-data-proxy-Proxy'>/**
+</span> * @author Ed Spencer
+ *
+ * Proxies are used by {@link Ext.data.Store Stores} to handle the loading and saving of {@link Ext.data.Model Model}
+ * data. Usually developers will not need to create or interact with proxies directly.
+ *
+ * # Types of Proxy
+ *
+ * There are two main types of Proxy - {@link Ext.data.proxy.Client Client} and {@link Ext.data.proxy.Server Server}.
+ * The Client proxies save their data locally and include the following subclasses:
+ *
+ * - {@link Ext.data.proxy.LocalStorage LocalStorageProxy} - saves its data to localStorage if the browser supports it
+ * - {@link Ext.data.proxy.SessionStorage SessionStorageProxy} - saves its data to sessionStorage if the browsers supports it
+ * - {@link Ext.data.proxy.Memory MemoryProxy} - holds data in memory only, any data is lost when the page is refreshed
+ *
+ * The Server proxies save their data by sending requests to some remote server. These proxies include:
+ *
+ * - {@link Ext.data.proxy.Ajax Ajax} - sends requests to a server on the same domain
+ * - {@link Ext.data.proxy.JsonP JsonP} - uses JSON-P to send requests to a server on a different domain
+ * - {@link Ext.data.proxy.Direct Direct} - uses {@link Ext.direct.Manager} to send requests
+ *
+ * Proxies operate on the principle that all operations performed are either Create, Read, Update or Delete. These four
+ * operations are mapped to the methods {@link #create}, {@link #read}, {@link #update} and {@link #destroy}
+ * respectively. Each Proxy subclass implements these functions.
+ *
+ * The CRUD methods each expect an {@link Ext.data.Operation Operation} object as the sole argument. The Operation
+ * encapsulates information about the action the Store wishes to perform, the {@link Ext.data.Model model} instances
+ * that are to be modified, etc. See the {@link Ext.data.Operation Operation} documentation for more details. Each CRUD
+ * method also accepts a callback function to be called asynchronously on completion.
+ *
+ * Proxies also support batching of Operations via a {@link Ext.data.Batch batch} object, invoked by the {@link #batch}
+ * method.
  */
 Ext.define('Ext.data.proxy.Proxy', {
     alias: 'proxy.proxy',
@@ -54,38 +64,57 @@ Ext.define('Ext.data.proxy.Proxy', {
         observable: 'Ext.util.Observable'
     },
     
-<span id='Ext-data.proxy.Proxy-cfg-batchOrder'>    /**
+<span id='Ext-data-proxy-Proxy-cfg-batchOrder'>    /**
 </span>     * @cfg {String} batchOrder
-     * Comma-separated ordering 'create', 'update' and 'destroy' actions when batching. Override this
-     * to set a different order for the batched CRUD actions to be executed in. Defaults to 'create,update,destroy'
+     * Comma-separated ordering 'create', 'update' and 'destroy' actions when batching. Override this to set a different
+     * order for the batched CRUD actions to be executed in. Defaults to 'create,update,destroy'.
      */
     batchOrder: 'create,update,destroy',
     
-<span id='Ext-data.proxy.Proxy-cfg-batchActions'>    /**
-</span>     * @cfg {Boolean} batchActions True to batch actions of a particular type when synchronizing the store.
-     * Defaults to &lt;tt&gt;true&lt;/tt&gt;.
+<span id='Ext-data-proxy-Proxy-cfg-batchActions'>    /**
+</span>     * @cfg {Boolean} batchActions
+     * True to batch actions of a particular type when synchronizing the store. Defaults to true.
      */
     batchActions: true,
     
-<span id='Ext-data.proxy.Proxy-cfg-defaultReaderType'>    /**
-</span>     * @cfg {String} defaultReaderType The default registered reader type. Defaults to 'json'
+<span id='Ext-data-proxy-Proxy-cfg-defaultReaderType'>    /**
+</span>     * @cfg {String} defaultReaderType
+     * The default registered reader type. Defaults to 'json'.
      * @private
      */
     defaultReaderType: 'json',
     
-<span id='Ext-data.proxy.Proxy-cfg-defaultWriterType'>    /**
-</span>     * @cfg {String} defaultWriterType The default registered writer type. Defaults to 'json'
+<span id='Ext-data-proxy-Proxy-cfg-defaultWriterType'>    /**
+</span>     * @cfg {String} defaultWriterType
+     * The default registered writer type. Defaults to 'json'.
      * @private
      */
     defaultWriterType: 'json',
     
-<span id='Ext-data.proxy.Proxy-cfg-model'>    /**
-</span>     * @cfg {String/Ext.data.Model} model The name of the Model to tie to this Proxy. Can be either the string name of
-     * the Model, or a reference to the Model constructor. Required.
+<span id='Ext-data-proxy-Proxy-cfg-model'>    /**
+</span>     * @cfg {String/Ext.data.Model} model
+     * The name of the Model to tie to this Proxy. Can be either the string name of the Model, or a reference to the
+     * Model constructor. Required.
+     */
+    
+<span id='Ext-data-proxy-Proxy-cfg-reader'>    /**
+</span>     * @cfg {Object/String/Ext.data.reader.Reader} reader
+     * The Ext.data.reader.Reader to use to decode the server's response or data read from client. This can either be a
+     * Reader instance, a config object or just a valid Reader type name (e.g. 'json', 'xml').
+     */
+    
+<span id='Ext-data-proxy-Proxy-cfg-writer'>    /**
+</span>     * @cfg {Object/String/Ext.data.writer.Writer} writer
+     * The Ext.data.writer.Writer to use to encode any request sent to the server or saved to client. This can either be
+     * a Writer instance, a config object or just a valid Writer type name (e.g. 'json', 'xml').
      */
     
     isProxy: true,
     
+<span id='Ext-data-proxy-Proxy-method-constructor'>    /**
+</span>     * Creates the Proxy
+     * @param {Object} config (optional) Config object.
+     */
     constructor: function(config) {
         config = config || {};
         
@@ -100,9 +129,10 @@ Ext.define('Ext.data.proxy.Proxy', {
         }
     },
     
-<span id='Ext-data.proxy.Proxy-method-setModel'>    /**
+<span id='Ext-data-proxy-Proxy-method-setModel'>    /**
 </span>     * Sets the model associated with this proxy. This will only usually be called by a Store
-     * @param {String|Ext.data.Model} model The new model. Can be either the model name string,
+     *
+     * @param {String/Ext.data.Model} model The new model. Can be either the model name string,
      * or a reference to the model's constructor
      * @param {Boolean} setOnStore Sets the new model on the associated Store, if one is present
      */
@@ -120,7 +150,7 @@ Ext.define('Ext.data.proxy.Proxy', {
         }
     },
     
-<span id='Ext-data.proxy.Proxy-method-getModel'>    /**
+<span id='Ext-data-proxy-Proxy-method-getModel'>    /**
 </span>     * Returns the model attached to this Proxy
      * @return {Ext.data.Model} The model
      */
@@ -128,10 +158,11 @@ Ext.define('Ext.data.proxy.Proxy', {
         return this.model;
     },
     
-<span id='Ext-data.proxy.Proxy-method-setReader'>    /**
+<span id='Ext-data-proxy-Proxy-method-setReader'>    /**
 </span>     * Sets the Proxy's Reader by string, config object or Reader instance
-     * @param {String|Object|Ext.data.reader.Reader} reader The new Reader, which can be either a type string, a configuration object
-     * or an Ext.data.reader.Reader instance
+     *
+     * @param {String/Object/Ext.data.reader.Reader} reader The new Reader, which can be either a type string,
+     * a configuration object or an Ext.data.reader.Reader instance
      * @return {Ext.data.reader.Reader} The attached Reader object
      */
     setReader: function(reader) {
@@ -159,7 +190,7 @@ Ext.define('Ext.data.proxy.Proxy', {
         return me.reader;
     },
     
-<span id='Ext-data.proxy.Proxy-method-getReader'>    /**
+<span id='Ext-data-proxy-Proxy-method-getReader'>    /**
 </span>     * Returns the reader currently attached to this proxy instance
      * @return {Ext.data.reader.Reader} The Reader instance
      */
@@ -167,10 +198,11 @@ Ext.define('Ext.data.proxy.Proxy', {
         return this.reader;
     },
     
-<span id='Ext-data.proxy.Proxy-method-setWriter'>    /**
+<span id='Ext-data-proxy-Proxy-method-setWriter'>    /**
 </span>     * Sets the Proxy's Writer by string, config object or Writer instance
-     * @param {String|Object|Ext.data.writer.Writer} writer The new Writer, which can be either a type string, a configuration object
-     * or an Ext.data.writer.Writer instance
+     *
+     * @param {String/Object/Ext.data.writer.Writer} writer The new Writer, which can be either a type string,
+     * a configuration object or an Ext.data.writer.Writer instance
      * @return {Ext.data.writer.Writer} The attached Writer object
      */
     setWriter: function(writer) {
@@ -194,7 +226,7 @@ Ext.define('Ext.data.proxy.Proxy', {
         return this.writer;
     },
     
-<span id='Ext-data.proxy.Proxy-method-getWriter'>    /**
+<span id='Ext-data-proxy-Proxy-method-getWriter'>    /**
 </span>     * Returns the writer currently attached to this proxy instance
      * @return {Ext.data.writer.Writer} The Writer instance
      */
@@ -202,52 +234,59 @@ Ext.define('Ext.data.proxy.Proxy', {
         return this.writer;
     },
     
-<span id='Ext-data.proxy.Proxy-property-create'>    /**
+<span id='Ext-data-proxy-Proxy-method-create'>    /**
 </span>     * Performs the given create operation.
      * @param {Ext.data.Operation} operation The Operation to perform
      * @param {Function} callback Callback function to be called when the Operation has completed (whether successful or not)
      * @param {Object} scope Scope to execute the callback function in
+     * @method
      */
     create: Ext.emptyFn,
     
-<span id='Ext-data.proxy.Proxy-property-read'>    /**
+<span id='Ext-data-proxy-Proxy-method-read'>    /**
 </span>     * Performs the given read operation.
      * @param {Ext.data.Operation} operation The Operation to perform
      * @param {Function} callback Callback function to be called when the Operation has completed (whether successful or not)
      * @param {Object} scope Scope to execute the callback function in
+     * @method
      */
     read: Ext.emptyFn,
     
-<span id='Ext-data.proxy.Proxy-property-update'>    /**
+<span id='Ext-data-proxy-Proxy-method-update'>    /**
 </span>     * Performs the given update operation.
      * @param {Ext.data.Operation} operation The Operation to perform
      * @param {Function} callback Callback function to be called when the Operation has completed (whether successful or not)
      * @param {Object} scope Scope to execute the callback function in
+     * @method
      */
     update: Ext.emptyFn,
     
-<span id='Ext-data.proxy.Proxy-property-destroy'>    /**
+<span id='Ext-data-proxy-Proxy-method-destroy'>    /**
 </span>     * Performs the given destroy operation.
      * @param {Ext.data.Operation} operation The Operation to perform
      * @param {Function} callback Callback function to be called when the Operation has completed (whether successful or not)
      * @param {Object} scope Scope to execute the callback function in
+     * @method
      */
     destroy: Ext.emptyFn,
     
-<span id='Ext-data.proxy.Proxy-method-batch'>    /**
-</span>     * Performs a batch of {@link Ext.data.Operation Operations}, in the order specified by {@link #batchOrder}. Used internally by
-     * {@link Ext.data.Store}'s {@link Ext.data.Store#sync sync} method. Example usage:
-     * &lt;pre&gt;&lt;code&gt;
-     * myProxy.batch({
-     *     create : [myModel1, myModel2],
-     *     update : [myModel3],
-     *     destroy: [myModel4, myModel5]
-     * });
-     * &lt;/code&gt;&lt;/pre&gt;
-     * Where the myModel* above are {@link Ext.data.Model Model} instances - in this case 1 and 2 are new instances and have not been 
-     * saved before, 3 has been saved previously but needs to be updated, and 4 and 5 have already been saved but should now be destroyed.
+<span id='Ext-data-proxy-Proxy-method-batch'>    /**
+</span>     * Performs a batch of {@link Ext.data.Operation Operations}, in the order specified by {@link #batchOrder}. Used
+     * internally by {@link Ext.data.Store}'s {@link Ext.data.Store#sync sync} method. Example usage:
+     *
+     *     myProxy.batch({
+     *         create : [myModel1, myModel2],
+     *         update : [myModel3],
+     *         destroy: [myModel4, myModel5]
+     *     });
+     *
+     * Where the myModel* above are {@link Ext.data.Model Model} instances - in this case 1 and 2 are new instances and
+     * have not been saved before, 3 has been saved previously but needs to be updated, and 4 and 5 have already been
+     * saved but should now be destroyed.
+     *
      * @param {Object} operations Object containing the Model instances to act upon, keyed by action name
-     * @param {Object} listeners Optional listeners object passed straight through to the Batch - see {@link Ext.data.Batch}
+     * @param {Object} listeners (optional) listeners object passed straight through to the Batch -
+     * see {@link Ext.data.Batch}
      * @return {Ext.data.Batch} The newly created Ext.data.Batch object
      */
     batch: function(operations, listeners) {
@@ -290,4 +329,6 @@ Ext.define('Ext.data.proxy.Proxy', {
     //     Ext.data.DataProxy = this;
     // }, this);
 });
-</pre></pre></body></html>
\ No newline at end of file
+</pre>
+</body>
+</html>