コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RendererSettings"/> class.
 /// </summary>
 /// <param name="valueGetters">The value getters</param>
 /// <param name="truthyChecks">The truthy checks</param>
 /// <param name="templateLoader">The template loader</param>
 /// <param name="partialLoader">The partial loader</param>
 /// <param name="maxRecursionDepth">The max recursion depth</param>
 /// <param name="renderSettings">The render settings</param>
 /// <param name="enumerationConverters">The enumeration converters</param>
 /// <param name="ignoreCaseOnLookup">Should case be ignored on lookup</param>
 /// <param name="parser">The mustache parser to use</param>
 /// <param name="rendererPipeline">The renderer pipeline to use</param>
 /// <param name="defaultTags">The default tags to use during parsing</param>
 /// <param name="parserPipeline">The parser pipeline to use during parsing</param>
 /// <param name="sectionBlacklistTypes">The blacklisted section types</param>
 /// <param name="encodingFunction">A function for encoding strings</param>
 public RendererSettings(
     Dictionary <Type, ValueGetterDelegate> valueGetters,
     Dictionary <Type, List <Func <object, bool> > > truthyChecks,
     IStubbleLoader templateLoader,
     IStubbleLoader partialLoader,
     uint maxRecursionDepth,
     RenderSettings renderSettings,
     Dictionary <Type, Func <object, IEnumerable> > enumerationConverters,
     bool ignoreCaseOnLookup,
     IMustacheParser parser,
     TokenRendererPipeline <Context> rendererPipeline,
     Tags defaultTags,
     ParserPipeline parserPipeline,
     HashSet <Type> sectionBlacklistTypes,
     Func <string, string> encodingFunction)
     : base(
         templateLoader,
         partialLoader,
         maxRecursionDepth,
         ignoreCaseOnLookup,
         parser,
         defaultTags,
         parserPipeline,
         sectionBlacklistTypes)
 {
     OrderedValueGetters   = valueGetters.Keys.OrderBy(t => t, TypeBySubclassAndAssignableImpl.Default).ToImmutableArray();
     ValueGetters          = valueGetters.ToImmutableDictionary();
     TruthyChecks          = truthyChecks.ToImmutableDictionary(k => k.Key, v => v.Value.ToImmutableArray());
     RenderSettings        = renderSettings;
     EnumerationConverters = enumerationConverters.ToImmutableDictionary();
     RendererPipeline      = rendererPipeline;
     EncodingFuction       = encodingFunction;
 }
コード例 #2
0
        static void Main(string[] args)
        {
            Intialize();
            ParserPipeline pipeline = InitializePipeline();

            pipeline.ParseSurvey(TestPollResult.Result());
        }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RendererSettings"/> class.
 /// </summary>
 /// <param name="valueGetters">The value getters</param>
 /// <param name="truthyChecks">The truthy checks</param>
 /// <param name="templateLoader">The template loader</param>
 /// <param name="partialLoader">The partial loader</param>
 /// <param name="maxRecursionDepth">The max recursion depth</param>
 /// <param name="renderSettings">The render settings</param>
 /// <param name="enumerationConverters">The enumeration converters</param>
 /// <param name="ignoreCaseOnLookup">Should case be ignored on lookup</param>
 /// <param name="parser">The mustache parser to use</param>
 /// <param name="rendererPipeline">The renderer pipeline to use</param>
 /// <param name="defaultTags">The default tags to use during parsing</param>
 /// <param name="parserPipeline">The parser pipeline to use during parsing</param>
 public RendererSettings(
     Dictionary <Type, ValueGetterDelegate> valueGetters,
     Dictionary <Type, List <Func <object, bool> > > truthyChecks,
     IStubbleLoader templateLoader,
     IStubbleLoader partialLoader,
     uint maxRecursionDepth,
     RenderSettings renderSettings,
     Dictionary <Type, Func <object, IEnumerable> > enumerationConverters,
     bool ignoreCaseOnLookup,
     IMustacheParser parser,
     TokenRendererPipeline <Context> rendererPipeline,
     Classes.Tags defaultTags,
     ParserPipeline parserPipeline)
     : base(
         templateLoader,
         partialLoader,
         maxRecursionDepth,
         ignoreCaseOnLookup,
         parser,
         defaultTags,
         parserPipeline)
 {
     ValueGetters          = valueGetters.ToImmutableDictionary();
     TruthyChecks          = truthyChecks.ToImmutableDictionary(k => k.Key, v => v.Value.ToImmutableArray());
     RenderSettings        = renderSettings;
     EnumerationConverters = enumerationConverters.ToImmutableDictionary();
     RendererPipeline      = rendererPipeline;
 }
コード例 #4
0
ファイル: RendererSettings.cs プロジェクト: nexmart/Stubble
 /// <summary>
 /// Initializes a new instance of the <see cref="RendererSettings"/> class.
 /// </summary>
 /// <param name="valueGetters">The value getters</param>
 /// <param name="truthyChecks">The truthy checks</param>
 /// <param name="templateLoader">The template loader</param>
 /// <param name="partialLoader">The partial loader</param>
 /// <param name="maxRecursionDepth">The max recursion depth</param>
 /// <param name="renderSettings">The render settings</param>
 /// <param name="enumerationConverters">The enumeration converters</param>
 /// <param name="ignoreCaseOnLookup">Should case be ignored on lookup</param>
 /// <param name="parser">The mustache parser to use</param>
 /// <param name="rendererPipeline">The renderer pipeline to use</param>
 /// <param name="defaultTags">The default tags to use during parsing</param>
 /// <param name="parserPipeline">The parser pipeline to use during parsing</param>
 public RendererSettings(
     Dictionary <Type, Func <object, string, object> > valueGetters,
     IEnumerable <Func <object, bool?> > truthyChecks,
     IStubbleLoader templateLoader,
     IStubbleLoader partialLoader,
     uint maxRecursionDepth,
     RenderSettings renderSettings,
     Dictionary <Type, Func <object, IEnumerable> > enumerationConverters,
     bool ignoreCaseOnLookup,
     IMustacheParser parser,
     TokenRendererPipeline rendererPipeline,
     Classes.Tags defaultTags,
     ParserPipeline parserPipeline)
 {
     ValueGetters          = valueGetters.ToImmutableDictionary();
     TruthyChecks          = truthyChecks.ToImmutableArray();
     TemplateLoader        = templateLoader;
     PartialTemplateLoader = partialLoader;
     MaxRecursionDepth     = maxRecursionDepth;
     RenderSettings        = renderSettings;
     EnumerationConverters = enumerationConverters.ToImmutableDictionary();
     IgnoreCaseOnKeyLookup = ignoreCaseOnLookup;
     Parser           = parser;
     RendererPipeline = rendererPipeline;
     DefaultTags      = defaultTags;
     ParserPipeline   = parserPipeline;
 }
コード例 #5
0
        public static ParserPipeline InitializePipeline()
        {
            ParserPipeline.AddParser(new FreeformQuestionParser());
            ParserPipeline.AddParser(new YesNoQuestionParser());
            ParserPipeline.AddParser(new MultipleOptionQuestionParser());

            return(new ParserPipeline(Configuration.Bus));
        }
        public void Configure(IContainerBuilder containerBuilder)
        {
            ParserPipeline.AddParser(new FreeformQuestionParser());
            ParserPipeline.AddParser(new YesNoQuestionParser());
            ParserPipeline.AddParser(new MultipleOptionQuestionParser());

            containerBuilder.RegisterType <ParserPipeline>();
        }
コード例 #7
0
        public void Initialize()
        {
            ParserPipeline.AddParser(new YesNoQuestionParser());
            ParserPipeline.AddParser(new FreeformQuestionParser());
            ParserPipeline.AddParser(new MultipleOptionQuestionParser());

            bus      = new LocalBusStub();
            pipeline = new ParserPipeline(bus);
        }
コード例 #8
0
        /// <summary>
        /// Builds a pipeline instance and caches it so once it's built it
        /// can't be modified.
        /// </summary>
        /// <returns>A pipeline for use in parsing</returns>
        public ParserPipeline Build()
        {
            if (pipeline != null)
            {
                return(pipeline);
            }

            pipeline = new ParserPipeline(InlineParsers, BlockParsers);
            return(pipeline);
        }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseSettings"/> class.
 /// </summary>
 /// <param name="templateLoader">The template loader</param>
 /// <param name="partialLoader">The partial loader</param>
 /// <param name="maxRecursionDepth">The max recursion depth</param>
 /// <param name="ignoreCaseOnLookup">Should case be ignored on lookup</param>
 /// <param name="parser">The mustache parser to use</param>
 /// <param name="defaultTags">The default tags to use during parsing</param>
 /// <param name="parserPipeline">The parser pipeline to use during parsing</param>
 public BaseSettings(
     IStubbleLoader templateLoader,
     IStubbleLoader partialLoader,
     uint maxRecursionDepth,
     bool ignoreCaseOnLookup,
     IMustacheParser parser,
     Classes.Tags defaultTags,
     ParserPipeline parserPipeline)
 {
     TemplateLoader        = templateLoader;
     PartialTemplateLoader = partialLoader;
     MaxRecursionDepth     = maxRecursionDepth;
     IgnoreCaseOnKeyLookup = ignoreCaseOnLookup;
     Parser         = parser;
     DefaultTags    = defaultTags;
     ParserPipeline = parserPipeline;
 }
コード例 #10
0
ファイル: BaseSettings.cs プロジェクト: wizofaus/Stubble
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseSettings"/> class.
 /// </summary>
 /// <param name="templateLoader">The template loader</param>
 /// <param name="partialLoader">The partial loader</param>
 /// <param name="maxRecursionDepth">The max recursion depth</param>
 /// <param name="ignoreCaseOnLookup">Should case be ignored on lookup</param>
 /// <param name="parser">The mustache parser to use</param>
 /// <param name="defaultTags">The default tags to use during parsing</param>
 /// <param name="parserPipeline">The parser pipeline to use during parsing</param>
 /// <param name="sectionBlacklistTypes">The blacklisted section types</param>
 public BaseSettings(
     IStubbleLoader templateLoader,
     IStubbleLoader partialLoader,
     uint maxRecursionDepth,
     bool ignoreCaseOnLookup,
     IMustacheParser parser,
     Classes.Tags defaultTags,
     ParserPipeline parserPipeline,
     HashSet <Type> sectionBlacklistTypes)
 {
     TemplateLoader        = templateLoader;
     PartialTemplateLoader = partialLoader;
     MaxRecursionDepth     = maxRecursionDepth;
     IgnoreCaseOnKeyLookup = ignoreCaseOnLookup;
     Parser                = parser;
     DefaultTags           = defaultTags;
     ParserPipeline        = parserPipeline;
     SectionBlacklistTypes = sectionBlacklistTypes.ToImmutableHashSet();
 }
コード例 #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CompilerSettings"/> class.
 /// </summary>
 /// <param name="valueGetters">The value getters</param>
 /// <param name="truthyChecks">The truthy checks</param>
 /// <param name="enumerationConverters">The enumeration converters</param>
 /// <param name="rendererPipeline">The renderer pipeline to use</param>
 /// <param name="templateLoader">The template loader</param>
 /// <param name="partialLoader">The partial loader</param>
 /// <param name="maxRecursionDepth">The max recursion depth</param>
 /// <param name="ignoreCaseOnLookup">Should case be ignored on lookup</param>
 /// <param name="parser">The mustache parser to use</param>
 /// <param name="defaultTags">The default tags to use during parsing</param>
 /// <param name="parserPipeline">The parser pipeline to use during parsing</param>
 /// <param name="compilationSettings">The default compilation settings for each render</param>
 public CompilerSettings(
     Dictionary <Type, DefaultSettings.ValueGetterDelegate> valueGetters,
     Dictionary <Type, List <LambdaExpression> > truthyChecks,
     Dictionary <Type, EnumerationConverter> enumerationConverters,
     TokenRendererPipeline <CompilerContext> rendererPipeline,
     IStubbleLoader templateLoader,
     IStubbleLoader partialLoader,
     uint maxRecursionDepth,
     bool ignoreCaseOnLookup,
     IMustacheParser parser,
     Tags defaultTags,
     ParserPipeline parserPipeline,
     CompilationSettings compilationSettings)
     : base(templateLoader, partialLoader, maxRecursionDepth, ignoreCaseOnLookup, parser, defaultTags, parserPipeline)
 {
     ValueGetters          = valueGetters.ToImmutableDictionary();
     TruthyChecks          = truthyChecks.ToImmutableDictionary(k => k.Key, v => v.Value.ToImmutableList());
     EnumerationConverters = enumerationConverters.ToImmutableDictionary();
     RendererPipeline      = rendererPipeline;
     CompilationSettings   = compilationSettings;
 }
コード例 #12
0
 public TBuilder SetParserPipeline(ParserPipeline pipeline)
 {
     return((TBuilder)this);
 }
コード例 #13
0
ファイル: StubbleBuilder{T}.cs プロジェクト: nexmart/Stubble
 /// <inheritdoc/>
 public IStubbleBuilder <T> SetParserPipeline(ParserPipeline pipeline)
 {
     SettingsBuilder.SetParserPipeline(pipeline);
     return(this);
 }
コード例 #14
0
 public SavePollResultHandler(IRepositoryFactory repositoryFactory, ParserPipeline parserPipeline)
 {
     this.parserPipeline = parserPipeline;
     pollResults         = repositoryFactory.GetRepository <PollResult>();
 }
コード例 #15
0
 /// <inheritdoc/>
 public RendererSettingsBuilder SetParserPipeline(ParserPipeline pipeline)
 {
     ParserPipeline = pipeline;
     return(this);
 }