Class ExpressionUtils


  • final class ExpressionUtils
    extends java.lang.Object
    Utility methods used in Expression class
    Version:
    6.1.0
    See Also:
    Expression
    • Field Detail

      • LANGUAGE_SPECIFIC_DESCRIPTIONS_SET

        static final boolean LANGUAGE_SPECIFIC_DESCRIPTIONS_SET
      • baseKeyWordsListParUdfUni111

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni111
      • baseKeyWordsListParUdfUni110

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni110
      • baseKeyWordsListParUdfUni101

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni101
      • baseKeyWordsListParUdfUni100

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni100
      • baseKeyWordsListParUdfUni011

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni011
      • baseKeyWordsListParUdfUni010

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni010
      • baseKeyWordsListParUdfUni001

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni001
      • baseKeyWordsListParUdfUni000

        static java.util.List<KeyWord> baseKeyWordsListParUdfUni000
      • KEY_ADVANCED_SEARCH_TAG

        private static final java.lang.String KEY_ADVANCED_SEARCH_TAG
        See Also:
        Constant Field Values
      • DESC_ADVANCED_SEARCH_TAG

        private static final java.lang.String DESC_ADVANCED_SEARCH_TAG
        See Also:
        Constant Field Values
      • SYN_ADVANCED_SEARCH_TAG

        private static final java.lang.String SYN_ADVANCED_SEARCH_TAG
        See Also:
        Constant Field Values
      • SINCE_ADVANCED_SEARCH_TAG

        private static final java.lang.String SINCE_ADVANCED_SEARCH_TAG
        See Also:
        Constant Field Values
      • KEYID_ADVANCED_SEARCH_TAG

        private static final java.lang.String KEYID_ADVANCED_SEARCH_TAG
        See Also:
        Constant Field Values
      • TYPEID_ADVANCED_SEARCH_TAG

        private static final java.lang.String TYPEID_ADVANCED_SEARCH_TAG
        See Also:
        Constant Field Values
      • TYPE_ADVANCED_SEARCH_TAG

        private static final java.lang.String TYPE_ADVANCED_SEARCH_TAG
        See Also:
        Constant Field Values
    • Constructor Detail

      • ExpressionUtils

        ExpressionUtils()
    • Method Detail

      • addUDFSpecificParserKeyWords

        static void addUDFSpecificParserKeyWords​(java.util.List<KeyWord> keyWordsList)
      • addArgumentsKeyWords

        static void addArgumentsKeyWords​(java.util.List<Argument> argumentsList,
                                         java.util.List<KeyWord> keyWordsList)
      • addFunctionsKeyWords

        static void addFunctionsKeyWords​(java.util.List<Function> functionsList,
                                         java.util.List<KeyWord> keyWordsList)
      • addConstantsKeyWords

        static void addConstantsKeyWords​(java.util.List<Constant> constantsList,
                                         java.util.List<KeyWord> keyWordsList)
      • addKeyWord

        static void addKeyWord​(java.lang.String wordString,
                               java.lang.String wordDescription,
                               int wordId,
                               java.lang.String wordSyntax,
                               java.lang.String wordSince,
                               int wordTypeId,
                               java.util.List<KeyWord> keyWordsList)
      • addKeyWordUnicode

        static void addKeyWordUnicode​(java.lang.String wordString,
                                      java.lang.String wordDescription,
                                      int wordId,
                                      java.lang.String wordSyntax,
                                      java.lang.String wordSince,
                                      int wordTypeId,
                                      boolean unicodeKeyWordsEnabled,
                                      java.util.List<KeyWord> keyWordsList)
      • addParserKeyWords

        static void addParserKeyWords​(boolean parserKeyWordsOnly,
                                      boolean UDFExpression,
                                      boolean unicodeKeyWordsEnabled,
                                      java.util.List<KeyWord> keyWordsList)
      • getBaseKeyWordsList

        static java.util.List<KeyWord> getBaseKeyWordsList​(boolean parserKeyWordsOnly,
                                                           boolean UDFExpression,
                                                           boolean unicodeKeyWordsEnabled)
      • makeAllParserKeyWords

        static void makeAllParserKeyWords()
      • makeParserKeyWords

        static java.util.List<KeyWord> makeParserKeyWords​(boolean parserKeyWordsOnly,
                                                          boolean UDFExpression,
                                                          boolean unicodeKeyWordsEnabled)
      • makeParserKeyWords

        private static void makeParserKeyWords​(boolean parserKeyWordsOnly,
                                               boolean UDFExpression,
                                               boolean unicodeKeyWordsEnabled,
                                               java.util.List<KeyWord> keyWordsList)
      • getFunctionParameters

        static java.util.List<FunctionParameter> getFunctionParameters​(int pos,
                                                                       java.util.List<Token> tokensList)
        Returns list of the functions parameters.
        Parameters:
        pos - the function position
        tokensList - the tokens list
        Returns:
        the list of function parameters
        See Also:
        FunctionParameter
      • cleanMinusMinus

        private static java.lang.String cleanMinusMinus​(java.lang.String expressionString)
        Cleans "--" case considering defined parser keywords "-->", "<--"
      • cleanExpressionString

        static java.lang.String cleanExpressionString​(java.lang.String expressionString,
                                                      boolean attemptToFixExpStrEnabled)
        Cleans blanks and other cases like "++', "+-", "-+", "--"
      • createExpressionDescription

        static java.lang.String createExpressionDescription​(java.lang.String description,
                                                            java.lang.String expressionString)
      • getCopyOfInitialTokens

        static java.util.List<Token> getCopyOfInitialTokens​(java.lang.String expressionString,
                                                            java.util.List<Token> initialTokens)
        Tokenizes expression string and returns tokens list, including: string, type, level.
        Returns:
        Copy of initial tokens.
        See Also:
        Token, mXparser.consolePrintTokens(List)
      • getMissingUserDefinedArguments

        static java.lang.String[] getMissingUserDefinedArguments​(java.util.List<Token> tokens)
        Returns missing user defined arguments names, i.e. sin(x) + cos(y) where x and y are not defined function will return x and y.
        Returns:
        Array of missing user defined arguments names - distinct strings.
      • getMissingUserDefinedUnits

        static java.lang.String[] getMissingUserDefinedUnits​(java.util.List<Token> tokens)
        Returns missing user defined units names, i.e. 2*[w] + [q] where [w] and [q] are not defined function will return [w] and [q].
        Returns:
        Array of missing user defined units names - distinct strings.
      • getMissingUserDefinedFunctions

        static java.lang.String[] getMissingUserDefinedFunctions​(java.util.List<Token> tokens)
        Returns missing user defined functions names, i.e. sin(x) + fun(x,y) where fun is not defined function will return fun.
        Returns:
        Array of missing user defined functions names - distinct strings.
      • showKeyWords

        static void showKeyWords​(java.util.List<KeyWord> keyWordsList)
      • getHelp

        static java.lang.String getHelp​(java.lang.String query,
                                        java.util.List<KeyWord> keyWordsList,
                                        boolean addHeader,
                                        boolean addCaption,
                                        java.lang.String caption)
      • getHelp

        static java.lang.String getHelp​(java.lang.String query,
                                        java.util.List<KeyWord> keyWordsList)
      • getHelpAsCsv

        static java.lang.String getHelpAsCsv​(java.util.List<KeyWord> keyWordsList,
                                             java.lang.String quote,
                                             java.lang.String delimiter,
                                             boolean addHeader,
                                             java.lang.String query)
      • buildHtmlTableRows

        private static void buildHtmlTableRows​(java.util.List<KeyWord> keyWordsList,
                                               boolean addHeader,
                                               java.lang.StringBuilder stringBuilder)
      • buildMarkdownTableRows

        private static void buildMarkdownTableRows​(java.util.List<KeyWord> keyWordsList,
                                                   boolean addHeader,
                                                   java.lang.StringBuilder stringBuilder)
      • makeJsonKeyValuePair

        private static java.lang.String makeJsonKeyValuePair​(java.lang.String key,
                                                             java.lang.String value)
      • buildJsonRows

        private static void buildJsonRows​(java.util.List<KeyWord> keyWordsList,
                                          java.lang.StringBuilder stringBuilder)
      • buildHelpCaption

        private static java.lang.String buildHelpCaption​(java.lang.String query)
      • selectCaption

        private static java.lang.String selectCaption​(java.lang.String query,
                                                      java.lang.String caption)
      • makeCssClassDef

        private static java.lang.String makeCssClassDef​(java.lang.String cssClass)
      • getHelpAsHtmlTable

        static java.lang.String getHelpAsHtmlTable​(java.util.List<KeyWord> keyWordsList,
                                                   boolean addHeader,
                                                   boolean addCaption,
                                                   boolean addFigure,
                                                   java.lang.String query,
                                                   java.lang.String caption,
                                                   java.lang.String cssClass)
      • getHelpAsHtmlTable

        static java.lang.String getHelpAsHtmlTable​(java.util.List<KeyWord> keyWordsList,
                                                   boolean addHeadline,
                                                   java.lang.String query)
      • getHelpAsMarkdownTable

        static java.lang.String getHelpAsMarkdownTable​(java.util.List<KeyWord> keyWordsList,
                                                       java.lang.String query)
      • getHelpAsMarkdownTable

        static java.lang.String getHelpAsMarkdownTable​(java.util.List<KeyWord> keyWordsList,
                                                       boolean addHeader,
                                                       boolean addCaption,
                                                       java.lang.String query,
                                                       java.lang.String caption)
      • getHelpAsJson

        static java.lang.String getHelpAsJson​(java.util.List<KeyWord> keyWordsList,
                                              boolean addCaption,
                                              java.lang.String query,
                                              java.lang.String caption)
      • buildHelpSearchLine

        private static java.lang.String buildHelpSearchLine​(KeyWord kw,
                                                            boolean advancedSearch)
      • containsAdvancedSearchTag

        private static boolean containsAdvancedSearchTag​(java.lang.String query,
                                                         java.lang.String tag)
      • checkIfAdvancedSearch

        private static boolean checkIfAdvancedSearch​(java.lang.String query)
      • getKeyWords

        static java.util.List<KeyWord> getKeyWords​(java.lang.String query,
                                                   java.util.List<KeyWord> keyWordsList)
        Returns list of keywords known to the parser
        Parameters:
        query - Give any string to filter list of keywords against this string. User more precise syntax: str=tokenString, desc=tokenDescription, syn=TokenSyntax, sin=tokenSince, wid=wordId, tid=wordTypeId to narrow the result.
        Returns:
        List of keywords known to the parser filter against query string.
        See Also:
        KeyWord, KeyWord.wordTypeId, Expression.getHelp(String)
      • showParsing

        static void showParsing​(int lPos,
                                int rPos,
                                java.util.List<Token> tokensList)
        Shows parsing (verbose mode purposes).
      • showTokens

        static void showTokens​(java.util.List<Token> tokensList)
      • tokenToString

        static java.lang.String tokenToString​(Token token)
      • tokensListToString

        static java.lang.String tokensListToString​(java.util.List<Token> tokensList)
      • evaluateTokensLevels

        static void evaluateTokensLevels​(java.util.List<Token> initialTokens)
        Evaluates tokens levels
      • getNumeralSystemBaseFromBaseInd

        static int getNumeralSystemBaseFromBaseInd​(java.lang.String baseInd)
      • findNonNegativeMinimum

        static int findNonNegativeMinimum​(int a,
                                          int b)
      • findNonNegativeMinimum

        static int findNonNegativeMinimum​(int a,
                                          int b,
                                          int c)
      • cloneForThreadSafeArgumenstList

        static java.util.List<Argument> cloneForThreadSafeArgumenstList​(Expression relatedExpressionThatInitiatedClone,
                                                                        java.util.List<Argument> argumentsListToClone,
                                                                        CloneCache cloneCache)
      • cloneForThreadSafeFunctionsList

        static java.util.List<Function> cloneForThreadSafeFunctionsList​(Expression relatedExpressionThatInitiatedClone,
                                                                        java.util.List<Function> functionsListToClone,
                                                                        CloneCache cloneCache)
      • cloneForThreadSafeConstantsList

        static java.util.List<Constant> cloneForThreadSafeConstantsList​(Expression relatedExpressionThatInitiatedClone,
                                                                        java.util.List<Constant> constantsListToClone,
                                                                        CloneCache cloneCache)