public static IReplacerEngine CreateEngine(ReplacerEngineType type, SearchReplaceOperationOptions options)
        {
            switch (type)
            {
            case ReplacerEngineType.StringEngine:
                return(new StringReplacerEngine(options));

            default:
                throw new ArgumentException(String.Format("Invalid type '{0}' specified when creating search replace engine.", type));
            }
        }
示例#2
0
        public XmlSearchReplace(SearchReplaceLocationOptions locOptions, SearchReplaceOperationOptions opOptions, List <string> searchString, List <string> replaceString)
        {
            _Processors       = new List <IXmlSearchAndReplacer>();
            _LocationOptions  = locOptions;
            _SearchString     = searchString;
            _ReplaceString    = replaceString;
            _OperationOptions = opOptions;

            PrepareReplacerEngine();
            SetupReplacerFilters();
        }
示例#3
0
        public SearchReplaceOperationOptions GetOperationOptions()
        {
            SearchReplaceOperationOptions opOptions = SearchReplaceOperationOptions.CaseSensitivePartialWord;

            if (_Parameters.GetBoolValue("W"))
            {
                opOptions |= SearchReplaceOperationOptions.WholeWordOnly;
            }

            if (_Parameters.GetBoolValue("I"))
            {
                opOptions |= SearchReplaceOperationOptions.CaseInsensitive;
            }

            return(opOptions);
        }
        public StringReplacerEngine(SearchReplaceOperationOptions options)
        {
            if (options.IsSet(SearchReplaceOperationOptions.CaseInsensitive))
            {
                _Validators.Add(new StringCaseInsensitiveValidator());
            }
            else
            {
                _Validators.Add(new StringCaseSensitiveValidator());
            }

            if (options.IsSet(SearchReplaceOperationOptions.WholeWordOnly))
            {
                _Validators.Add(new StringWholeWordValidator());
            }
            else
            {
                _Validators.Add(new StringPartialWordValidator());
            }
        }
示例#5
0
        private void InitializeReplacer(string xml, SearchReplaceLocationOptions options, string searchString, string replaceString, bool wholeWordOnly, bool caseInsensitive)
        {
            _Document.LoadXml(xml);
            SearchReplaceOperationOptions opOptions = SearchReplaceOperationOptions.CaseSensitivePartialWord;

            if (wholeWordOnly)
            {
                opOptions |= SearchReplaceOperationOptions.WholeWordOnly;
            }
            if (caseInsensitive)
            {
                opOptions |= SearchReplaceOperationOptions.CaseInsensitive;
            }
            _Replacer = new XmlSearchReplace(options, opOptions, new List <string>()
            {
                searchString
            }, new List <string>()
            {
                replaceString
            });
        }
 public static bool IsSet(this SearchReplaceOperationOptions options, SearchReplaceOperationOptions option)
 {
     return((options & option) == option);
 }