1 <html><head><title>Roo/data/DataReader.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
4 * Copyright(c) 2006-2007, Ext JS, LLC.
6 * Originally Released Under LGPL - original licence link has changed is not relivant.
9 * <script type="text/javascript">
12 // Base class for reading structured data from a data source. This class is intended to be
13 // extended (see ArrayReader, JsonReader and XmlReader) and should not be created directly.
16 * @class Roo.data.DataReader
18 * Base class for reading structured data from a data source. This class is intended to be
19 * extended (see {Roo.data.ArrayReader}, {Roo.data.JsonReader} and {Roo.data.XmlReader}) and should not be created directly.
22 </span><span class="jsdoc-var">Roo.data.DataReader </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">){
24 </span><span class="jsdoc-var">this.meta </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">meta</span><span class="jsdoc-syntax">;
26 </span><span class="jsdoc-var">this.recordType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">recordType </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array </span><span class="jsdoc-syntax">?
27 </span><span class="jsdoc-var">Roo.data.Record.create</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">recordType</span><span class="jsdoc-syntax">;
30 </span><span class="jsdoc-var">Roo.data.DataReader.prototype </span><span class="jsdoc-syntax">= {
33 </span><span class="jsdoc-var">readerType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Data'</span><span class="jsdoc-syntax">,
34 </span><span class="jsdoc-comment">/**
35 * Create an empty record
36 * @param {Object} data (optional) - overlay some values
37 * @return {Roo.data.Record} record created.
39 </span><span class="jsdoc-var">newRow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) {
40 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">da </span><span class="jsdoc-syntax">= {};
41 </span><span class="jsdoc-var">this.recordType.prototype.fields.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">) {
42 </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">c.type</span><span class="jsdoc-syntax">) {
43 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'int' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">da</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">] = 0; </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
44 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'date' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">da</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
45 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'float' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">da</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">] = 0.0; </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
46 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'boolean' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">da</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">; </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
47 </span><span class="jsdoc-keyword">default </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">da</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">; </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
51 </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">this.recordType</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">da</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">));
55 };</span></code></body></html>