Class AbstractAnalysisFactory

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractAnalysisFactory()
      This default ctor is required to be implemented by all subclasses because of service loader (SPI) specification, but it is never called by Lucene.
      protected AbstractAnalysisFactory​(java.util.Map<java.lang.String,​java.lang.String> args)
      Initialize this factory via a set of key-value pairs.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static java.lang.RuntimeException defaultCtorException()
      Helper method to be called from mandatory default constructor of all subclasses to make ServiceLoader happy.
      java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)  
      java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, java.lang.String defaultVal)  
      java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues)  
      java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, java.lang.String defaultVal)  
      java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, java.lang.String defaultVal, boolean caseSensitive)  
      protected boolean getBoolean​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, boolean defaultVal)  
      char getChar​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, char defaultValue)  
      java.lang.String getClassArg()  
      protected float getFloat​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, float defaultVal)  
      protected int getInt​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, int defaultVal)  
      protected java.util.List<java.lang.String> getLines​(ResourceLoader loader, java.lang.String resource)
      Returns the resource's lines (with content treated as UTF-8)
      Version getLuceneMatchVersion()  
      java.util.Map<java.lang.String,​java.lang.String> getOriginalArgs()  
      protected java.util.regex.Pattern getPattern​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)
      Compiles a pattern for the value of the specified argument key name
      java.util.Set<java.lang.String> getSet​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)
      Returns whitespace- and/or comma-separated set of values, or null if none are found
      protected CharArraySet getSnowballWordSet​(ResourceLoader loader, java.lang.String wordFiles, boolean ignoreCase)
      same as getWordSet(ResourceLoader, String, boolean), except the input is in snowball format.
      protected CharArraySet getWordSet​(ResourceLoader loader, java.lang.String wordFiles, boolean ignoreCase)
      Returns as CharArraySet from wordFiles, which can be a comma-separated list of filenames
      boolean isExplicitLuceneMatchVersion()  
      java.lang.String require​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)  
      java.lang.String require​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues)  
      java.lang.String require​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, boolean caseSensitive)  
      protected boolean requireBoolean​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)  
      char requireChar​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)  
      protected float requireFloat​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)  
      protected int requireInt​(java.util.Map<java.lang.String,​java.lang.String> args, java.lang.String name)  
      void setExplicitLuceneMatchVersion​(boolean isExplicitLuceneMatchVersion)  
      protected java.util.List<java.lang.String> splitAt​(char separator, java.lang.String list)
      Splits a list separated by zero or more given separator characters.
      protected java.util.List<java.lang.String> splitFileNames​(java.lang.String fileNames)
      Splits file names separated by comma character.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LUCENE_MATCH_VERSION_PARAM

        public static final java.lang.String LUCENE_MATCH_VERSION_PARAM
        See Also:
        Constant Field Values
      • originalArgs

        private final java.util.Map<java.lang.String,​java.lang.String> originalArgs
        The original args, before any processing
      • luceneMatchVersion

        protected final Version luceneMatchVersion
        the luceneVersion arg
      • isExplicitLuceneMatchVersion

        private boolean isExplicitLuceneMatchVersion
        whether the luceneMatchVersion arg is explicitly specified in the serialized schema
      • ITEM_PATTERN

        private static final java.util.regex.Pattern ITEM_PATTERN
    • Constructor Detail

      • AbstractAnalysisFactory

        protected AbstractAnalysisFactory()
        This default ctor is required to be implemented by all subclasses because of service loader (SPI) specification, but it is never called by Lucene.

        Subclass ctors should call: throw defaultCtorException();

        Throws:
        java.lang.UnsupportedOperationException - if invoked
        See Also:
        defaultCtorException(), AbstractAnalysisFactory(Map)
      • AbstractAnalysisFactory

        protected AbstractAnalysisFactory​(java.util.Map<java.lang.String,​java.lang.String> args)
        Initialize this factory via a set of key-value pairs.
    • Method Detail

      • defaultCtorException

        protected static java.lang.RuntimeException defaultCtorException()
        Helper method to be called from mandatory default constructor of all subclasses to make ServiceLoader happy.

        Should be used in subclass ctors like: throw defaultCtorException();

        See Also:
        AbstractAnalysisFactory()
      • getOriginalArgs

        public final java.util.Map<java.lang.String,​java.lang.String> getOriginalArgs()
      • getLuceneMatchVersion

        public final Version getLuceneMatchVersion()
      • require

        public java.lang.String require​(java.util.Map<java.lang.String,​java.lang.String> args,
                                        java.lang.String name)
      • require

        public java.lang.String require​(java.util.Map<java.lang.String,​java.lang.String> args,
                                        java.lang.String name,
                                        java.util.Collection<java.lang.String> allowedValues)
      • require

        public java.lang.String require​(java.util.Map<java.lang.String,​java.lang.String> args,
                                        java.lang.String name,
                                        java.util.Collection<java.lang.String> allowedValues,
                                        boolean caseSensitive)
      • get

        public java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args,
                                    java.lang.String name)
      • get

        public java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args,
                                    java.lang.String name,
                                    java.lang.String defaultVal)
      • get

        public java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args,
                                    java.lang.String name,
                                    java.util.Collection<java.lang.String> allowedValues)
      • get

        public java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args,
                                    java.lang.String name,
                                    java.util.Collection<java.lang.String> allowedValues,
                                    java.lang.String defaultVal)
      • get

        public java.lang.String get​(java.util.Map<java.lang.String,​java.lang.String> args,
                                    java.lang.String name,
                                    java.util.Collection<java.lang.String> allowedValues,
                                    java.lang.String defaultVal,
                                    boolean caseSensitive)
      • requireInt

        protected final int requireInt​(java.util.Map<java.lang.String,​java.lang.String> args,
                                       java.lang.String name)
      • getInt

        protected final int getInt​(java.util.Map<java.lang.String,​java.lang.String> args,
                                   java.lang.String name,
                                   int defaultVal)
      • requireBoolean

        protected final boolean requireBoolean​(java.util.Map<java.lang.String,​java.lang.String> args,
                                               java.lang.String name)
      • getBoolean

        protected final boolean getBoolean​(java.util.Map<java.lang.String,​java.lang.String> args,
                                           java.lang.String name,
                                           boolean defaultVal)
      • requireFloat

        protected final float requireFloat​(java.util.Map<java.lang.String,​java.lang.String> args,
                                           java.lang.String name)
      • getFloat

        protected final float getFloat​(java.util.Map<java.lang.String,​java.lang.String> args,
                                       java.lang.String name,
                                       float defaultVal)
      • requireChar

        public char requireChar​(java.util.Map<java.lang.String,​java.lang.String> args,
                                java.lang.String name)
      • getChar

        public char getChar​(java.util.Map<java.lang.String,​java.lang.String> args,
                            java.lang.String name,
                            char defaultValue)
      • getSet

        public java.util.Set<java.lang.String> getSet​(java.util.Map<java.lang.String,​java.lang.String> args,
                                                      java.lang.String name)
        Returns whitespace- and/or comma-separated set of values, or null if none are found
      • getPattern

        protected final java.util.regex.Pattern getPattern​(java.util.Map<java.lang.String,​java.lang.String> args,
                                                           java.lang.String name)
        Compiles a pattern for the value of the specified argument key name
      • getWordSet

        protected final CharArraySet getWordSet​(ResourceLoader loader,
                                                java.lang.String wordFiles,
                                                boolean ignoreCase)
                                         throws java.io.IOException
        Returns as CharArraySet from wordFiles, which can be a comma-separated list of filenames
        Throws:
        java.io.IOException
      • getLines

        protected final java.util.List<java.lang.String> getLines​(ResourceLoader loader,
                                                                  java.lang.String resource)
                                                           throws java.io.IOException
        Returns the resource's lines (with content treated as UTF-8)
        Throws:
        java.io.IOException
      • splitFileNames

        protected final java.util.List<java.lang.String> splitFileNames​(java.lang.String fileNames)
        Splits file names separated by comma character. File names can contain comma characters escaped by backslash '\'
        Parameters:
        fileNames - the string containing file names
        Returns:
        a list of file names with the escaping backslashed removed
      • splitAt

        protected final java.util.List<java.lang.String> splitAt​(char separator,
                                                                 java.lang.String list)
        Splits a list separated by zero or more given separator characters. List items can contain comma characters escaped by backslash '\'. Whitespace is NOT trimmed from the returned list items.
        Parameters:
        list - the string containing the split list items
        Returns:
        a list of items with the escaping backslashes removed
      • getClassArg

        public java.lang.String getClassArg()
        Returns:
        the string used to specify the concrete class name in a serialized representation: the class arg. If the concrete class name was not specified via a class arg, returns getClass().getName().
      • isExplicitLuceneMatchVersion

        public boolean isExplicitLuceneMatchVersion()
      • setExplicitLuceneMatchVersion

        public void setExplicitLuceneMatchVersion​(boolean isExplicitLuceneMatchVersion)