    /**
     * @author Tommy Maintz
     *
     * This class is a sequential id generator. A simple use of this class would be like so:
     *
     *     Ext.define('MyApp.data.MyModel', {
     *         extend: 'Ext.data.Model',
     *         config: {
     *             identifier: 'sequential'
     *         }
     *     });
     *     // assign id's of 1, 2, 3, etc.
     *
     * An example of a configured generator would be:
     *
     *     Ext.define('MyApp.data.MyModel', {
     *         extend: 'Ext.data.Model',
     *         config: {
     *             identifier: {
     *                 type: 'sequential',
     *                 prefix: 'ID_',
     *                 seed: 1000
     *             }
     *         }
     *     });
     *     // assign id's of ID_1000, ID_1001, ID_1002, etc.
     *
     */
    Ext.define('Ext.data.identifier.Sequential', {
        extend: 'Ext.data.identifier.Simple',
        alias: 'data.identifier.sequential',

        config: {
            /**
             * @cfg {String} prefix
             * The string to place in front of the sequential number for each generated id. The
             * default is blank.
             */
            prefix: '',

            /**
             * @cfg {Number} seed
             * The number at which to start generating sequential id's. The default is 1.
             */
            seed: 1
        },

        constructor: function() {
            var me = this;
            me.callParent(arguments);
            me.parts = [me.getPrefix(), ''];
        },

        generate: function(record) {
            var me = this,
                parts = me.parts,
                seed = me.getSeed() + 1;

            me.setSeed(seed);
            parts[1] = seed;

            return parts.join('');
        }
    });