      1 // ==========================================================================
      2 // Project:   The M-Project - Mobile HTML5 Application Framework
      3 // Copyright: �2010 M-Way Solutions GmbH. All rights reserved.
      4 // Creator:   Dominik
      5 // Date:      28.10.2010
      6 // License:   Dual licensed under the MIT or GPL Version 2 licenses.
      7 //            http://github.com/mwaylabs/The-M-Project/blob/master/MIT-LICENSE
      8 //            http://github.com/mwaylabs/The-M-Project/blob/master/GPL-LICENSE
      9 // ==========================================================================
     10
     11 m_require('core/utility/logger.js');
     12
     13 /**
     14  * @class
     15  *
     16  * Wraps access to any defined data source and is the only interface for a model to
     17  * access this data.
     18  *
     19  * @extends M.Object
     20  */
     21 M.DataProvider = M.Object.extend(
     22 /** @scope M.DataProvider.prototype */ {
     23
     24     /**
     25      * The type of this object.
     26      *
     27      * @type String
     28      */
     29     type: 'M.DataProvider',
     30
     31     /**
     32      * Interface method.
     33      * Implemented by specific data provider.
     34      */
     35     find: function(query) {
     36     },
     37
     38     /**
     39      * Interface method.
     40      * Implemented by specific data provider.
     41      */
     42     save: function() {
     43     },
     44
     45     /**
     46      * Interface method.
     47      * Implemented by specific data provider.
     48      */
     49     del: function() {
     50
     51     },
     52
     53     /**
     54      * Checks if object has certain property.
     55      *
     56      * @param {obj} obj The object to check.
     57      * @param {String} prop The property to check for.
     58      * @returns {Booleans} Returns YES (true) if object has property and NO (false) if not.
     59      */
     60     check: function(obj, prop) {
     61        return obj[prop] ? YES : NO;
     62     }
     63
     64 });