/// <summary>
        /// Load synonyms with the given <seealso cref="SynonymMap.Parser"/> class.
        /// </summary>
        private SynonymMap LoadSynonyms(IResourceLoader loader, string cname, bool dedup, Analyzer analyzer)
        {
            Encoding decoder = Encoding.UTF8;

            SynonymMap.Parser parser;
            Type clazz = loader.FindClass(cname /*, typeof(SynonymMap.Parser) */);

            try
            {
                parser = (SynonymMap.Parser)Activator.CreateInstance(clazz,
                                                                     BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
                                                                     null, new object[] { dedup, expand, analyzer }, CultureInfo.InvariantCulture);
            }
            catch (Exception e)
            {
                throw e;
            }

            if (File.Exists(synonyms))
            {
                parser.Parse(new StreamReader(loader.OpenResource(synonyms), decoder));
            }
            else
            {
                IEnumerable <string> files = SplitFileNames(synonyms);
                foreach (string file in files)
                {
                    parser.Parse(new StreamReader(loader.OpenResource(synonyms), decoder));
                }
            }
            return(parser.Build());
        }
Ejemplo n.º 2
0
        private TokenizerFactory LoadTokenizerFactory(IResourceLoader loader, string cname)
        {
            Type clazz = loader.FindClass(cname);

            try
            {
                TokenizerFactory tokFactory = (TokenizerFactory)Activator.CreateInstance(clazz,
                                                                                         BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
                                                                                         null, new object[] { tokArgs }, CultureInfo.InvariantCulture);
                if (tokFactory is IResourceLoaderAware)
                {
                    ((IResourceLoaderAware)tokFactory).Inform(loader);
                }
                return(tokFactory);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 3
0
 public Type FindClass(string cname)
 {
     return(@delegate.FindClass(cname));
 }
 // (there are no tests for this functionality)
 private TokenizerFactory LoadTokenizerFactory(IResourceLoader loader, string cname)
 {
     Type clazz = loader.FindClass(cname /*, typeof(TokenizerFactory) */);
     try
     {
         TokenizerFactory tokFactory = (TokenizerFactory)Activator.CreateInstance(clazz,
             BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
             null, new object[] { tokArgs }, CultureInfo.InvariantCulture);
         if (tokFactory is IResourceLoaderAware)
         {
             ((IResourceLoaderAware)tokFactory).Inform(loader);
         }
         return tokFactory;
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        /// <summary>
        /// Load synonyms with the given <seealso cref="SynonymMap.Parser"/> class.
        /// </summary>
        private SynonymMap LoadSynonyms(IResourceLoader loader, string cname, bool dedup, Analyzer analyzer)
        {
            Encoding decoder = Encoding.UTF8;

            SynonymMap.Parser parser;
            Type clazz = loader.FindClass(cname /*, typeof(SynonymMap.Parser) */);
            try
            {
                parser = (SynonymMap.Parser)Activator.CreateInstance(clazz,
                    BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
                    null, new object[] { dedup, expand, analyzer }, CultureInfo.InvariantCulture);
            }
            catch (Exception e)
            {
                throw e;
            }

            if (File.Exists(synonyms))
            {
                parser.Parse(new StreamReader(loader.OpenResource(synonyms), decoder));
            }
            else
            {
                IEnumerable<string> files = SplitFileNames(synonyms);
                foreach (string file in files)
                {
                    parser.Parse(new StreamReader(loader.OpenResource(synonyms), decoder));
                }
            }
            return parser.Build();
        }