Class AbstractAnalysisFactory

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      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 Deprecated Methods 
      Modifier and Type Method Description
      (package private) static java.lang.String generateLegacySPIName​(java.lang.Class<? extends AbstractAnalysisFactory> service, java.lang.String[] suffixes)
      Deprecated.
      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()  
      (package private) static java.lang.String lookupSPIName​(java.lang.Class<? extends AbstractAnalysisFactory> service)
      Looks up SPI name (static "NAME" field) with appropriate modifiers.
      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​(java.util.Map<java.lang.String,​java.lang.String> args)
        Initialize this factory via a set of key-value pairs.
    • Method Detail

      • 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)
      • lookupSPIName

        static java.lang.String lookupSPIName​(java.lang.Class<? extends AbstractAnalysisFactory> service)
                                       throws java.lang.NoSuchFieldException,
                                              java.lang.IllegalAccessException,
                                              java.lang.IllegalStateException
        Looks up SPI name (static "NAME" field) with appropriate modifiers. Also it must be a String class and declared in the concrete class.
        Returns:
        the SPI name
        Throws:
        java.lang.NoSuchFieldException - - if the "NAME" field is not defined.
        java.lang.IllegalAccessException - - if the "NAME" field is inaccessible.
        java.lang.IllegalStateException - - if the "NAME" field does not have appropriate modifiers or isn't a String field.
      • generateLegacySPIName

        @Deprecated
        static java.lang.String generateLegacySPIName​(java.lang.Class<? extends AbstractAnalysisFactory> service,
                                                      java.lang.String[] suffixes)
        Deprecated.
        Generate legacy SPI name derived from the class name.
        Returns:
        the SPI name