namespace MyCode.Project.Infrastructure
{
///
/// Represents that the implemented classes are specification parsers that
/// parses the given specification to a domain specific criteria object, such
/// as the ICriteria instance in NHibernate.
///
/// The type of the domain specific criteria.
public interface ISpecificationParser
{
///
/// Parses the given specification to a domain specific criteria object.
///
/// The type of the object to which the specification is applied.
/// The specified specification instance.
/// The instance of the domain specific criteria.
TCriteria Parse(ISpecification specification);
}
}