//@include lib_sol.common.Instance.js /** * @class sol.common.instance.path * @extends sol.common.instance.base * @eloall * @experimental * This is an experimental new functionality, which may be removed in future versions. * * Please be aware that this class does not use sol.define but sol.common.instance.define * and may be working slightly different. * * This instanceDefinition provides basic functionality to build a path */ sol.common.instance.define("sol.common.instance.path", { CONST: { ELO_DELIMITER: "¶", JSON_DELIMITER: "." }, delimiter: "¶", _path: [], initialize: function (config) { var me = this; if (config.delimiter) { me.delimiter = me.CONST[config.delimiter] || config.delimiter; } else { me.delimter = me.CONST.ELO_DELIMITER; } me.$super(null, "initialize", config); }, /** * @chainable * @param {String} element the element * @returns {sol.common.instance.path} this */ add: function (element) { var me = this; me._path.add(element); return me; }, get: function (config) { var me = this; return (config || {}).delimiter ? me._path.join(me.CONST[config.delimiter] || config.delimiter) : me._path.join(me.delimiter); } });