vds/Campaign.js

/**
 * @fileoverview Exposed data type for use outside of VdsClient.
 *               All properties should be exposed to allow use from uncompiled
 *               code.
 *
 * @author anders.rejdebrant@spark-vision.com (Anders Rejdebrant)
 */

goog.provide('spv.vds.Campaign');




/**
 * @export
 * @struct
 * @constructor
 * @param {Object} external_values,
 * @param {spv.ds.Config} input_config,
 * @param {spv.ds.Config} output_config,
 * @param {Object.<string, string>} item_short_texts
 */
spv.vds.Campaign = function(
		external_values,
		input_config,
		output_config,
		item_short_texts)
{
	/**
	 * This property contains the original data from the campaign feed.
	 *
	 * @type {Object}
	 * @nocollapse
	 */
	this.external_values = external_values;

	/**
	 * Input config used to validate this campaign
	 *
	 * @type {spv.ds.Config}
	 * @nocollapse
	 */
	this.input_config = input_config;

	/**
	 * Output/result config from validation
	 *
	 * If the input_config and output_config is not identical the server
	 * could not load this campaign properly and the campaign should not be
	 * presented to the user. 
	 *
	 * @type {spv.ds.Config}
	 * @nocollapse
	 */
	this.output_config = output_config;

	/**
	 * Extra information for this campaign
	 *
	 * @type {Object.<string, string>}
	 * @nocollapse
	 */
	this.item_short_texts = item_short_texts;
};