Source: br-presenter/src/br/presenter/validator/CrossPropertyValidator.js

/**
 * @module br/presenter/validator/CrossPropertyValidator
 */

var Errors = require("br/Errors");

/**
 * @class
 * @interface
 * @alias module:br/presenter/validator/CrossPropertyValidator
 *
 * @classdesc
 * An interface for validators that need to consider the validity of multiple
 * {@link module:br/presenter/property/Property} instances in relation to each other.
 */
function CrossPropertyValidator() {
}

/**
 * Validate the set of named properties.
 *
 * <p>Implementations of <code>CrossPropertyValidator</code> will typically expect a well defined
 * set of named properties to perform validation on. Validators should fail-fast, and throw
 * an exception if the set of properties they receive is not the same as what they expected.</p>
 *
 * @param {Object} mProperties A named set of properties to validate.
 * @param {module:br/validation/ValidationResult} oValidationResult The result object that the outcome of the validation will be set on.
 */
CrossPropertyValidator.prototype.validate = function(mProperties, oValidationResult) {
	throw new Errors.UnimplementedInterfaceError("CrossPropertyValidator.validate() has not been implemented.");
};

module.exports = CrossPropertyValidator;