NHibernate.Loader.Criteria.CriteriaLoader.CriteriaLoader C# (CSharp) Method

CriteriaLoader() public method

public CriteriaLoader ( IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria, string rootEntityName, IFilter>.IDictionary enabledFilters ) : System
persister IOuterJoinLoadable
factory ISessionFactoryImplementor
rootCriteria CriteriaImpl
rootEntityName string
enabledFilters IFilter>.IDictionary
return System
		public CriteriaLoader(IOuterJoinLoadable persister, ISessionFactoryImplementor factory, CriteriaImpl rootCriteria,
							  string rootEntityName, IDictionary<string, IFilter> enabledFilters)
			: base(factory, enabledFilters)
		{
			translator = new CriteriaQueryTranslator(factory, rootCriteria, rootEntityName, CriteriaQueryTranslator.RootSqlAlias);

			querySpaces = translator.GetQuerySpaces();

			CriteriaJoinWalker walker =
				new CriteriaJoinWalker(persister, translator, factory, rootCriteria, rootEntityName, enabledFilters);

			InitFromWalker(walker);

			userAliases = walker.UserAliases;
			resultTypes = walker.ResultTypes;
			includeInResultRow = walker.IncludeInResultRow;
			resultRowLength = ArrayHelper.CountTrue(IncludeInResultRow);
			// fill caching objects only if there is a projection
			if (translator.HasProjection)
			{
				cachedProjectedColumnAliases = translator.ProjectedColumnAliases;
			}

			PostInstantiate();
		}