using System;
namespace Csla.Validation
{
///
/// Tracks all information for a rule.
///
internal interface IRuleMethod
{
///
/// Gets the priority of the rule method.
///
/// The priority value.
///
/// Priorities are processed in descending
/// order, so priority 0 is processed
/// before priority 1, etc.
int Priority { get;}
///
/// Gets the name of the rule.
///
///
/// The rule's name must be unique and is used
/// to identify a broken rule in the BrokenRules
/// collection.
///
string RuleName { get;}
///
/// Returns the name of the field, property or column
/// to which the rule applies.
///
RuleArgs RuleArgs { get;}
///
/// Invokes the rule to validate the data.
///
///
/// if the data is valid,
/// if the data is invalid.
///
bool Invoke(object target);
}
}