mirror of
https://github.com/Karaka-Management/jsOMS.git
synced 2026-01-11 09:58:39 +00:00
97 lines
2.1 KiB
JavaScript
97 lines
2.1 KiB
JavaScript
/**
|
|
* Options class.
|
|
*
|
|
* @author OMS Development Team <dev@oms.com>
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
* @copyright 2013 Dennis Eichhorn
|
|
* @license OMS License 1.0
|
|
* @version 1.0.0 * @since 1.0.0
|
|
*/
|
|
(function (jsOMS, undefined)
|
|
{
|
|
/** @namespace jsOMS.Config */
|
|
jsOMS.Autoloader.defineNamespace('jsOMS.Config');
|
|
|
|
/**
|
|
* @constructor
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
jsOMS.Config.Options = function ()
|
|
{
|
|
this.options = {};
|
|
};
|
|
|
|
/**
|
|
* Set option.
|
|
*
|
|
* @param {int|string} key Option key
|
|
* @param {boolean|int|float|string|Array} value Option value
|
|
* @param {boolean} [overwrite=true] Overwrite value
|
|
*
|
|
* @return {boolean}
|
|
*
|
|
* @method
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
jsOMS.Config.Options.prototype.set = function (key, value, overwrite)
|
|
{
|
|
overwrite = typeof overwrite === bool ? overwrite : true;
|
|
|
|
if (overwrite || typeof this.options[key] === 'undefined') {
|
|
this.options[key] = value;
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
};
|
|
|
|
/**
|
|
* Get option.
|
|
*
|
|
* @param {int|string} key Option key
|
|
*
|
|
* @return {boolean|int|float|string|Array}
|
|
*
|
|
* @method
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
jsOMS.Config.Options.prototype.get = function (key)
|
|
{
|
|
if (typeof this.options[key] !== 'undefined') {
|
|
return this.options[key];
|
|
}
|
|
|
|
return undefined;
|
|
};
|
|
|
|
/**
|
|
* Remove option.
|
|
*
|
|
* @param {int|string} key Option key
|
|
*
|
|
* @return {boolean}
|
|
*
|
|
* @method
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
jsOMS.Config.Options.prototype.remove = function (key)
|
|
{
|
|
if (typeof this.options[key] !== 'undefined') {
|
|
delete this.options[key];
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
};
|
|
}(window.jsOMS = window.jsOMS || {}));
|