public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            this.ValidateStartTag(startElement, StartTagName);
            var startTag = startElement;

            if (string.IsNullOrEmpty(startTag.Value))
            {
                throw new Exception(string.Format(MessageStrings.TagNotFoundOrEmpty, "If"));
            }

            var endTag = this.FindEndTag(startTag);

            var content = TraverseUtils.ElementsBetween(startTag, endTag).ToList();
            var expression = startTag.GetExpression();

            var ifTag = new IfTag
                            {
                                Conidition = expression,
                                EndIf = endTag,
                                IfContent = content,
                                StartIf = startTag,
                            };

            var ifProcessor = new IfProcessor { Tag = ifTag };
            if (content.Any())
            {
                this.GoDeeper(ifProcessor, content.First(), endTag);
            }            
            parentProcessor.AddProcessor(ifProcessor);

            return endTag;
        }
Пример #2
0
        private PaymentLinksStorage CreateService(IOptions <PaymentLinkOptions> options = null,
                                                  ITagProcessor tagProcessor            = null)
        {
            options ??= GetValidOptions();
            tagProcessor ??= Mock.Of <ITagProcessor>();

            return(new PaymentLinksStorage(_edoContextMock.Object,
                                           new DefaultDateTimeProvider(),
                                           options,
                                           tagProcessor));


            IOptions <PaymentLinkOptions> GetValidOptions()
            => Options.Create(new PaymentLinkOptions
            {
                ClientSettings = new ClientSettings
                {
                    Currencies = new List <Currencies> {
                        Currencies.AED, Currencies.EUR
                    },
                    ServiceTypes = new Dictionary <ServiceTypes, string>
                    {
                        { ServiceTypes.HTL, "Hotel booking" },
                        { ServiceTypes.TRN, "Airport transfer" }
                    }
                },
                SupportedVersions = new List <Version> {
                    new Version(0, 2)
                },
                LinkMailTemplateId = "templateId_fkIfu423_-e",
                PaymentUrlPrefix   = new Uri("https://test/prefix")
            });
        }
        protected XElement ParseSdt(ITagProcessor parentProcessor, XElement sdtElement)
        {
            ITagParser parser = null;

            switch (this.GetTagName(sdtElement).ToLower())
            {
            case "htmlcontent":
                parser = new HtmlContentParser();
                break;

            case "text":
                parser = new TextParser();
                break;

            case "table":
                parser = new TableParser();
                break;

            case "repeater":
                parser = new RepeaterParser();
                break;

            case "if":
                parser = new IfParser();
                break;
            }
            return(parser != null?parser.Parse(parentProcessor, sdtElement) : sdtElement);
        }
Пример #4
0
 public TagEventHandler(RFIDReader API, string ID)
 {
     _ExistingTable = new Hashtable();
     _ReaderAPI     = API;
     _DeviceID      = ID;
     _Processor     = new DefaultTagProcessor();
 }
Пример #5
0
 protected virtual void AddStackKeeper(Tag t, HtmlPipelineContext hcc, ITagProcessor tp)
 {
     if (tp.IsStackOwner())
     {
         hcc.AddFirst(new StackKeeper(t));
     }
 }
Пример #6
0
        public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            this.ValidateStartTag(startElement, StartTagName);
            var startTag = startElement;

            if (string.IsNullOrEmpty(startTag.Value))
            {
                throw new Exception(string.Format(MessageStrings.TagNotFoundOrEmpty, "If"));
            }

            var endTag = this.FindEndTag(startTag);

            var content    = TraverseUtils.ElementsBetween(startTag, endTag).ToList();
            var expression = startTag.GetExpression();

            var ifTag = new IfTag
            {
                Conidition = expression,
                EndIf      = endTag,
                IfContent  = content,
                StartIf    = startTag,
            };

            var ifProcessor = new IfProcessor {
                Tag = ifTag
            };

            if (content.Any())
            {
                this.GoDeeper(ifProcessor, content.First(), endTag);
            }
            parentProcessor.AddProcessor(ifProcessor);

            return(endTag);
        }
        protected XElement ParseSdt(ITagProcessor parentProcessor, XElement sdtElement)
        {
            ITagParser parser = null;
            switch (this.GetTagName(sdtElement).ToLower())
            {                
                case "htmlcontent":
                    parser = new HtmlContentParser();
                    break;

                case "text":
                    parser = new TextParser();
                    break;

                case "table":
                    parser = new TableParser();
                    break;

                case "repeater":
                    parser = new RepeaterParser();
                    break;

                case "if":
                    parser = new IfParser();
                    break;
            }
            return parser != null ? parser.Parse(parentProcessor, sdtElement) : sdtElement;
        }
Пример #8
0
        public void Initialise(ILoggerFactory loggerFactory, ILogger logger,
#if RAPTOR
                               IASNodeClient raptorClient,
                               ITagProcessor tagProcessor,
#endif
                               IConfigurationStore configStore, List <FileData> fileList, ICompactionProfileResultHelper profileResultHelper,
                               ITRexTagFileProxy tRexTagFileProxy, ITRexCompactionDataProxy trexCompactionDataProxy, IFileImportProxy fileImportProxy,
                               IHeaderDictionary customHeaders, string customerUid, string userId)
        {
            this.loggerFactory = loggerFactory;
            this.log           = logger;
#if RAPTOR
            this.raptorClient = raptorClient;
            this.tagProcessor = tagProcessor;
#endif
            this.configStore             = configStore;
            this.fileList                = fileList;
            this.profileResultHelper     = profileResultHelper;
            this.tRexTagFileProxy        = tRexTagFileProxy;
            this.trexCompactionDataProxy = trexCompactionDataProxy;
            this.fileImportProxy         = fileImportProxy;
            this.customHeaders           = customHeaders;
            this.customerUid             = customerUid;
            this.userId = userId;
        }
 /**
  *
  */
 public void AddProcessor(ITagProcessor processor, String[] tags)
 {
     foreach (String tag in tags)
     {
         AddProcessor(tag, processor);
     }
 }
Пример #10
0
 public TagEventHandler(RFIDReader API, string ID)
 {
     _ExistingTable = new Hashtable();
     _ReaderAPI = API;
     _DeviceID = ID;
     _Processor = new DefaultTagProcessor();
 }
        virtual public void AddTagProcessor()
        {
            tp.AddProcessor(tpi, new string[] { "addatag" });
            ITagProcessor processor = tp.GetProcessor("addatag", "");

            Assert.AreEqual(tpi, processor);
        }
        public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            this.ValidateStartTag(startElement, TagName);
            var endRepeater = TryGetRequiredTag(startElement, EndTagName);
            var itemsSource = startElement.GetExpression(); 

            if (string.IsNullOrEmpty(itemsSource))
            {
                throw new Exception(MessageStrings.ItemsAreEmpty);
            }

            IEnumerable<XElement> elementsBetween = TraverseUtils.ElementsBetween(startElement, endRepeater).ToList();
            var repeaterTag = new RepeaterTag
                {
                    Source = itemsSource,
                    StartRepeater = startElement,
                    EndRepeater = endRepeater,
                    MakeElementCallback = MakeElementCallback
                };

            var repeaterProcessor = new RepeaterProcessor
                {
                    RepeaterTag = repeaterTag,
                };
            
            if (elementsBetween.Any())
            {
                this.GoDeeper(repeaterProcessor, elementsBetween.First());
            }

            parentProcessor.AddProcessor(repeaterProcessor);

            return endRepeater;
        }
        private void GoDeeper(ITagProcessor parentProcessor, XElement element)
        {
            do
            {
                if (element.IsSdt())
                {
                    switch (this.GetTagName(element).ToLower())
                    {
                    case "itemtext":
                    case "itemindex":
                    case "itemif":
                    case "itemhtmlcontent":
                    case "itemrepeater":
                    case "enditemrepeater":
                    case "titemtext":
                    case "itemtable":
                    case "cellcolor":
                    case "enditemtable":
                    case "enditemif":
                        break;

                    default:
                        element = this.ParseSdt(parentProcessor, element);
                        break;
                    }
                }
                else if (element.HasElements)
                {
                    this.GoDeeper(parentProcessor, element.Elements().First());
                }
                element = element.NextElement();
            }while (element != null && (!element.IsSdt() || GetTagName(element).ToLower() != "endtable"));
        }
Пример #14
0
        public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            this.ValidateStartTag(startElement, TagName);
            var endRepeater = TryGetRequiredTag(startElement, EndTagName);
            var itemsSource = startElement.GetExpression();

            if (string.IsNullOrEmpty(itemsSource))
            {
                throw new Exception(MessageStrings.ItemsAreEmpty);
            }

            IEnumerable <XElement> elementsBetween = TraverseUtils.ElementsBetween(startElement, endRepeater).ToList();
            var repeaterTag = new RepeaterTag
            {
                Source              = itemsSource,
                StartRepeater       = startElement,
                EndRepeater         = endRepeater,
                MakeElementCallback = MakeElementCallback
            };

            var repeaterProcessor = new RepeaterProcessor
            {
                RepeaterTag = repeaterTag,
            };

            if (elementsBetween.Any())
            {
                this.GoDeeper(repeaterProcessor, elementsBetween.First());
            }

            parentProcessor.AddProcessor(repeaterProcessor);

            return(endRepeater);
        }
 private void GoDeeper(ITagProcessor parentProcessor, XElement element)
 {
     do
     {
         if (element.IsSdt())
         {
             switch (this.GetTagName(element).ToLower())
             {                                                
                 case "itemtext":
                 case "itemindex":
                 case "itemif":
                 case "itemhtmlcontent":
                 case "itemrepeater":
                 case "enditemrepeater":
                 case "titemtext":
                 case "itemtable":
                 case "cellcolor":
                 case "enditemtable":
                 case "enditemif":
                     break;
                 default:
                     element = this.ParseSdt(parentProcessor, element);
                     break;
             }
         }
         else if (element.HasElements)
         {
             this.GoDeeper(parentProcessor, element.Elements().First());
         }
         element = element.NextElement();
     }
     while (element != null && (!element.IsSdt() || GetTagName(element).ToLower() != "endtable"));
 }
 public void AddProcessor(ITagProcessor processor)
 {
     if (processor == null || !(processor is P))
     {
         throw new Exception();
     }
     this.InnerProcessor = (P)processor;
 }
 public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
 {
     this.ValidateStartTag(startElement, "HtmlContent");
     var tag = new HtmlContentTag() { Expression = startElement.Value, TagNode = startElement };
     var processor = new HtmlContentProcessor() { HtmlTag = tag };
     parentProcessor.AddProcessor(processor);
     return startElement;
 }
Пример #18
0
 public PaymentLinksStorage(EdoContext context,
                            IDateTimeProvider dateTimeProvider,
                            IOptions <PaymentLinkOptions> paymentLinkOptions,
                            ITagProcessor tagProcessor)
 {
     _context            = context;
     _dateTimeProvider   = dateTimeProvider;
     _tagProcessor       = tagProcessor;
     _paymentLinkOptions = paymentLinkOptions.Value;
 }
Пример #19
0
        /**
         * @param tag the tag to find a ITagProcessor for
         * @param nameSpace the namespace.
         * @return a ITagProcessor
         */

        protected internal ITagProcessor ResolveProcessor(String tag, String nameSpace)
        {
            ITagProcessor tp = tagFactory.GetProcessor(tag, nameSpace);

            if (tp is CssAppliersAware)
            {
                ((CssAppliersAware)tp).SetCssAppliers(this.cssAppliers);
            }
            return(tp);
        }
 public virtual XElement Parse(ITagProcessor parentProcessor, XElement startElement)
 {
     var sdtElement = startElement.Descendants(WordMl.SdtName).FirstOrDefault();
     while (sdtElement != null)
     {
         sdtElement = this.ParseSdt(parentProcessor, sdtElement);
         sdtElement = TraverseUtils.NextTagElements(sdtElement).FirstOrDefault();
     }
     return startElement;
 }
Пример #21
0
        /*
         * (non-Javadoc)
         *
         * @see
         * com.itextpdf.tool.xml.pipeline.IPipeline#open(com.itextpdf.tool.
         * xml.Tag, com.itextpdf.tool.xml.pipeline.ProcessObject)
         */
        public override IPipeline Open(IWorkerContext context, Tag t, ProcessObject po)
        {
            HtmlPipelineContext hcc = (HtmlPipelineContext)GetLocalContext(context);

            try {
                Object lastMarginBottom = null;
                if (hcc.GetMemory().TryGetValue(HtmlPipelineContext.LAST_MARGIN_BOTTOM, out lastMarginBottom))
                {
                    t.LastMarginBottom = lastMarginBottom;
                    hcc.GetMemory().Remove(HtmlPipelineContext.LAST_MARGIN_BOTTOM);
                }
                ITagProcessor tp = hcc.ResolveProcessor(t.Name, t.NameSpace);
                if (tp.IsStackOwner())
                {
                    hcc.AddFirst(new StackKeeper(t));
                }
                IList <IElement> content = tp.StartElement(context, t);
                if (content.Count > 0)
                {
                    if (tp.IsStackOwner())
                    {
                        StackKeeper peek;
                        try {
                            peek = hcc.Peek();
                            foreach (IElement elem in content)
                            {
                                peek.Add(elem);
                            }
                        } catch (NoStackException e) {
                            throw new PipelineException(String.Format(LocaleMessages.STACK_404, t.ToString()), e);
                        }
                    }
                    else
                    {
                        foreach (IElement elem in content)
                        {
                            hcc.CurrentContent().Add(elem);
                            if (elem.Type == Element.BODY)
                            {
                                WritableElement writableElement = new WritableElement();
                                writableElement.Add(elem);
                                po.Add(writableElement);
                                hcc.CurrentContent().Remove(elem);
                            }
                        }
                    }
                }
            } catch (NoTagProcessorException e) {
                if (!hcc.AcceptUnknown())
                {
                    throw e;
                }
            }
            return(GetNext());
        }
        public virtual XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            var sdtElement = startElement.Descendants(WordMl.SdtName).FirstOrDefault();

            while (sdtElement != null)
            {
                sdtElement = this.ParseSdt(parentProcessor, sdtElement);
                sdtElement = TraverseUtils.NextTagElements(sdtElement).FirstOrDefault();
            }
            return(startElement);
        }
Пример #23
0
 public BookingRecordsManager(EdoContext context,
                              IDateTimeProvider dateTimeProvider,
                              ITagProcessor tagProcessor,
                              IAccommodationService accommodationService,
                              IAccommodationBookingSettingsService accommodationBookingSettingsService)
 {
     _context              = context;
     _dateTimeProvider     = dateTimeProvider;
     _tagProcessor         = tagProcessor;
     _accommodationService = accommodationService;
     _accommodationBookingSettingsService = accommodationBookingSettingsService;
 }
 public DirectApiBookingRegistrationService(EdoContext context,
                                            ITagProcessor tagProcessor,
                                            IDateTimeProvider dateTimeProvider,
                                            IAppliedBookingMarkupRecordsManager appliedBookingMarkupRecordsManager,
                                            IBookingChangeLogService changeLogService,
                                            ISupplierOrderService supplierOrderService,
                                            IBookingRequestStorage requestStorage,
                                            IAccommodationMapperClient accommodationMapperClient,
                                            ILogger <DirectApiBookingRegistrationService> logger)
     : base(context, tagProcessor, dateTimeProvider, appliedBookingMarkupRecordsManager, changeLogService, supplierOrderService, requestStorage, logger)
 {
     _accommodationMapperClient = accommodationMapperClient;
 }
Пример #25
0
        public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            this.ValidateStartTag(startElement, "Text");
            var tag = new TextTag {
                Expression = startElement.Value, TagNode = startElement
            };
            var processor = new TextProcessor {
                TextTag = tag
            };

            parentProcessor.AddProcessor(processor);

            return(startElement);
        }
Пример #26
0
 public static void RegisterTagProcessor(string tag, ITagProcessor processor)
 {
     lock (_processors)
     {
         if (_processors.ContainsKey(tag))
         {
             _processors[tag] = processor;
         }
         else
         {
             _processors.Add(tag, processor);
         }
     }
 }
Пример #27
0
 public BookingRegistrationService(EdoContext context, ITagProcessor tagProcessor, IDateTimeProvider dateTimeProvider,
                                   IAppliedBookingMarkupRecordsManager appliedBookingMarkupRecordsManager, IBookingChangeLogService changeLogService,
                                   ISupplierOrderService supplierOrderService, IBookingRequestStorage requestStorage,
                                   ILogger <BookingRegistrationService> logger)
 {
     _context          = context;
     _tagProcessor     = tagProcessor;
     _dateTimeProvider = dateTimeProvider;
     _appliedBookingMarkupRecordsManager = appliedBookingMarkupRecordsManager;
     _changeLogService     = changeLogService;
     _supplierOrderService = supplierOrderService;
     _requestStorage       = requestStorage;
     _logger = logger;
 }
Пример #28
0
 public PaymentCallbackDispatcher(ICreditCardPaymentProcessingService creditCardPaymentProcessingService,
                                  IPayfortResponseParser responseParser,
                                  IBookingPaymentCallbackService bookingPaymentCallbackService,
                                  IPaymentLinksProcessingService linksProcessingService,
                                  ITagProcessor tagProcessor,
                                  EdoContext context)
 {
     _creditCardPaymentProcessingService = creditCardPaymentProcessingService;
     _responseParser = responseParser;
     _bookingPaymentCallbackService = bookingPaymentCallbackService;
     _linksProcessingService        = linksProcessingService;
     _tagProcessor = tagProcessor;
     _context      = context;
 }
Пример #29
0
        /*
         * (non-Javadoc)
         *
         * @see com.itextpdf.tool.xml.pipeline.Pipeline#open(com.itextpdf.tool.
         * xml.Tag, com.itextpdf.tool.xml.pipeline.ProcessObject)
         */
        public override IPipeline Open(IWorkerContext context, Tag t, ProcessObject po)
        {
            SvgPipelineContext hcc = (SvgPipelineContext)GetLocalContext(context);

            try {
                ITagProcessor tp = hcc.ResolveProcessor(t.Name, t.Name);
                if (tp.IsStackOwner())
                {
                    hcc.AddFirst(new StackKeeper(t));
                }
                IList <IElement> content = tp.StartElement(context, t);
                if (content.Count > 0)
                {
                    if (tp.IsStackOwner())
                    {
                        StackKeeper peek;
                        try {
                            peek = hcc.Peek();
                            foreach (IElement elem in content)
                            {
                                peek.Add(elem);
                            }
                        } catch (NoStackException e) {
                            throw new PipelineException(String.Format(LocaleMessages.STACK_404, t.ToString()), e);
                        }
                    }
                    else
                    {
                        if (!hcc.IsDefinition())
                        {
                            foreach (IElement elem in content)
                            {
                                po.Add((Graphic)elem);
                            }
                        }
                    }
                }
            } catch (NoTagProcessorException e) {
                if (!hcc.AcceptUnknown())
                {
                    throw e;
                }
            }
            return(GetNext());
        }
Пример #30
0
        /// <summary>
        /// Builds this instance for specified executor type.
        /// </summary>
        /// <typeparam name="TExecutor">The type of the executor.</typeparam>
        public static TExecutor Build <TExecutor>(ILoggerFactory logger,
#if RAPTOR
                                                  IASNodeClient raptorClient = null,
                                                  ITagProcessor tagProcessor = null,
#endif
                                                  IConfigurationStore configStore    = null,
                                                  List <FileData> fileList           = null, ICompactionProfileResultHelper profileResultHelper = null,
                                                  ITRexTagFileProxy tRexTagFileProxy = null, ITRexCompactionDataProxy trexCompactionDataProxy   = null,
                                                  IFileImportProxy fileImportProxy   = null,
                                                  IHeaderDictionary customHeaders    = null, string customerUid = null, string userId = null)
            where TExecutor : RequestExecutorContainer, new()
        {
            ILogger log = null;

            if (logger != null)
            {
                log = logger.CreateLogger <TExecutor>();
            }

            var executor = new TExecutor();

            executor.Initialise(
                logger,
                log,
#if RAPTOR
                raptorClient,
                tagProcessor,
#endif
                configStore,
                fileList,
                profileResultHelper,
                tRexTagFileProxy,
                trexCompactionDataProxy,
                fileImportProxy,
                customHeaders,
                customerUid,
                userId);

            return(executor);
        }
 private bool GoDeeper(ITagProcessor parentProcessor, XElement element, XElement endElement)
 {
     var endReached = false;
     do
     {
         if (element.IsSdt())
         {
             if (element.Equals(endElement))
             {
                 return true;
             }
             element = this.ParseSdt(parentProcessor, element);
         }
         else if (element.HasElements)
         {
             endReached = this.GoDeeper(parentProcessor, element.Elements().First(), endElement);                    
         }
         element = element.NextElementWithUpTransition();
     }
     while (element != null && !endReached);
     return endReached;
 }
Пример #32
0
        private bool GoDeeper(ITagProcessor parentProcessor, XElement element, XElement endElement)
        {
            var endReached = false;

            do
            {
                if (element.IsSdt())
                {
                    if (element.Equals(endElement))
                    {
                        return(true);
                    }
                    element = this.ParseSdt(parentProcessor, element);
                }
                else if (element.HasElements)
                {
                    endReached = this.GoDeeper(parentProcessor, element.Elements().First(), endElement);
                }
                element = element.NextElementWithUpTransition();
            }while (element != null && !endReached);
            return(endReached);
        }
        /// <summary>
        /// Do parsing
        /// </summary>
        public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            this.ValidateStartTag(startElement, "Table");

            if (parentProcessor == null)
            {
                throw new ArgumentNullException();
            }

            var endTableTag = this.TryGetRequiredTags(startElement, "EndTable").First();
            var coreParser = new CoreTableParser(false);            
            var tag = coreParser.Parse(startElement, endTableTag);
            var processor = new TableProcessor { TableTag = tag };

            if (TraverseUtils.ElementsBetween(startElement, endTableTag).Any())
            {
                this.GoDeeper(processor, TraverseUtils.ElementsBetween(startElement, endTableTag).First());
            }
            parentProcessor.AddProcessor(processor);

            return endTableTag;
        }
Пример #34
0
        private bool GoDeeper(ITagProcessor parentProcessor, XElement element)
        {
            var endReached = false;

            do
            {
                if (element.IsSdt())
                {
                    switch (this.GetTagName(element).ToLower())
                    {
                    case "endrepeater":
                        return(true);

                    case "itemrepeater":
                    case "itemtable":
                    case "itemtext":
                    case "itemif":
                    case "endif":
                    case "enditemtable":
                    case "itemhtmlcontent":
                    case "itemindex":
                        break;

                    default:
                        if (!ItemRepeaterGenerator.IsItemRepeaterElement(element))
                        {
                            element = this.ParseSdt(parentProcessor, element);
                        }
                        break;
                    }
                }
                else if (element.HasElements)
                {
                    endReached = this.GoDeeper(parentProcessor, element.Elements().First());
                }
                element = element.NextElement();
            }while (element != null && !endReached);
            return(endReached);
        }
        /// <summary>
        /// Do parsing
        /// </summary>
        public override XElement Parse(ITagProcessor parentProcessor, XElement startElement)
        {
            this.ValidateStartTag(startElement, "Table");

            if (parentProcessor == null)
            {
                throw new ArgumentNullException();
            }

            var endTableTag = this.TryGetRequiredTags(startElement, "EndTable").First();
            var coreParser  = new CoreTableParser(false);
            var tag         = coreParser.Parse(startElement, endTableTag);
            var processor   = new TableProcessor {
                TableTag = tag
            };

            if (TraverseUtils.ElementsBetween(startElement, endTableTag).Any())
            {
                this.GoDeeper(processor, TraverseUtils.ElementsBetween(startElement, endTableTag).First());
            }
            parentProcessor.AddProcessor(processor);

            return(endTableTag);
        }
            /**
             * @param className the fully qualified class name
             * @param processor the processor object
             */
            public FactoryObject(String className, ITagProcessor processor, DefaultTagProcessorFactory parent) : this(className, parent) {
                this.proc = processor;

            }
 /**
  *
  */
 virtual public void AddProcessor( ITagProcessor processor, String[] tags) {
     foreach (String tag in tags) {
         AddProcessor(tag, processor);
     }
 }
        /**
         * Add a loaded ITagProcessor.
         *
         * @param tag the tag the processor with the given className maps to
         * @param processor the ITagProcessor
         */
        virtual public void AddProcessor(String tag, ITagProcessor processor) {
            map[tag] = new FactoryObject(processor.GetType().FullName, processor, this);

        }
Пример #39
0
     void AddProcessor
     (ITagProcessor processor, params String[]
         tags) {
 }
Пример #40
0
        /**
         * @param tag the tag to find a ITagProcessor for
         * @param nameSpace the namespace.
         * @return a ITagProcessor
         */
        protected internal ITagProcessor ResolveProcessor(String tag, String nameSpace)
        {
            ITagProcessor tp = tagFactory.GetProcessor(tag, nameSpace);

            return(tp);
        }
Пример #41
0
 void AddProcessor
     (ITagProcessor processor, params String[]
     tags)
 {
 }
Пример #42
0
 public virtual void AddProcessor(ITagProcessor processor, params String[] tags)
 {
 }
 /**
  * @param className the fully qualified class name
  * @param processor the processor object
  */
 public FactoryObject(String className, ITagProcessor processor, DefaultTagProcessorFactory parent) : this(className, parent)
 {
     this.proc = processor;
 }
 /**
  * Add a loaded ITagProcessor.
  *
  * @param tag the tag the processor with the given className maps to
  * @param processor the ITagProcessor
  */
 public void AddProcessor(String tag, ITagProcessor processor)
 {
     map[tag] = new FactoryObject(processor.GetType().FullName, processor, this);
 }
 private bool GoDeeper(ITagProcessor parentProcessor, XElement element)
 {
     var endReached = false;
     do
     {
         if (element.IsSdt())
         {
             switch (this.GetTagName(element).ToLower())
             {
                 case "endrepeater":
                     return true;
                 case "itemrepeater":
                 case "itemtable":
                 case "itemtext":
                 case "itemif":
                 case "endif": 
                 case "enditemtable":
                 case "itemhtmlcontent":
                 case "itemindex":
                     break;
                 default:
                     if (!ItemRepeaterGenerator.IsItemRepeaterElement(element))
                     {
                         element = this.ParseSdt(parentProcessor, element);
                     }
                     break;
             }
         }
         else if (element.HasElements)
         {
             endReached = this.GoDeeper(parentProcessor, element.Elements().First());
         }
         element = element.NextElement();
     }
     while (element != null && !endReached);
     return endReached;
 }
Пример #46
0
 protected virtual void AddStackKeeper(Tag t, HtmlPipelineContext hcc, ITagProcessor tp)
 {
     if (tp.IsStackOwner())
         hcc.AddFirst(new StackKeeper(t));
 }
Пример #47
0
 public virtual void AddProcessor(ITagProcessor processor, params String[] tags) {
 }
 public void AddProcessor(ITagProcessor processor)
 {
     this.processors.Add(processor);
 }