Class Expression

    • Field Detail

      • TYPE_DESC

        public static String TYPE_DESC
      • NO_SYNTAX_ERRORS

        public static final boolean NO_SYNTAX_ERRORS
        Status of the syntax - no syntax error
        See Also:
        Constant Field Values
      • SYNTAX_ERROR

        public static final boolean SYNTAX_ERROR
        Status of the syntax - syntax error or syntax status unknown
        See Also:
        Constant Field Values
      • SYNTAX_ERROR_OR_STATUS_UNKNOWN

        @Deprecated
        public static final boolean SYNTAX_ERROR_OR_STATUS_UNKNOWN
        Deprecated.
        Planned to be removed, use SYNTAX_ERROR instead
        Status of the syntax - syntax error or syntax status unknown
        See Also:
        Constant Field Values
      • msStart

        public static long msStart
      • msSum

        public static long msSum
    • Constructor Detail

      • Expression

        public Expression​(PrimitiveElement... elements)
        Default constructor - empty expression
        Parameters:
        elements - Optional elements list (variadic - comma separated) of types: Argument, Constant, Function
        See Also:
        PrimitiveElement
      • Expression

        public Expression​(String expressionString,
                          PrimitiveElement... elements)
        Constructor - creates new expression from expression string.
        Parameters:
        expressionString - definition of the expression
        elements - Optional elements list (variadic - comma separated) of types: Argument, Constant, Function
        See Also:
        PrimitiveElement
    • Method Detail

      • getErrorMessage

        public String getErrorMessage()
        Method return error message after calling checkSyntax() method or calculate().
        Returns:
        Error message as string.
      • getSyntaxStatus

        public boolean getSyntaxStatus()
        Gets syntax status of the expression.
        Returns:
        true if there are no syntax errors, false when syntax error was found or syntax status is unknown
      • setExpressionString

        public void setExpressionString​(String expressionString)
        Sets (modifies expression) expression string.
        Parameters:
        expressionString - the expression string
      • getExpressionString

        public String getExpressionString()
        Returns expression string
        Returns:
        Expression string definition.
      • getCanonicalExpressionString

        public String getCanonicalExpressionString()
        Returns expression string
        Returns:
        Expression string definition.
      • clearExpressionString

        public void clearExpressionString()
        Clears expression string
      • setDescription

        public void setDescription​(String description)
        Sets expression description.
        Parameters:
        description - the description string
      • getDescription

        public String getDescription()
        Gets expression description.
        Returns:
        String description.
      • clearDescription

        public void clearDescription()
        Clears expression description
      • setVerboseMode

        public void setVerboseMode()
        Enables verbose mode.
      • setSilentMode

        public void setSilentMode()
        Disables verbose mode (default silent mode).
      • getVerboseMode

        public boolean getVerboseMode()
        Returns verbose mode status.
        Returns:
        true if verbose mode is on, otherwise returns false.
      • enableImpliedMultiplicationMode

        public void enableImpliedMultiplicationMode()
        Sets implied multiplication
      • disableImpliedMultiplicationMode

        public void disableImpliedMultiplicationMode()
        Disables implied multiplication
      • checkIfImpliedMultiplicationMode

        public boolean checkIfImpliedMultiplicationMode()
        Gets implied multiplication status
        Returns:
        true if implied multiplication is enabled, otherwise returns false.
      • enableUnicodeBuiltinKeyWordsMode

        public void enableUnicodeBuiltinKeyWordsMode()
        Enables unicode built-in parser keywords, this flag informs the parser that built-in unicode keywords are supported and will be recognized as functions or operators.
      • disableUnicodeBuiltinKeyWordsMode

        public void disableUnicodeBuiltinKeyWordsMode()
        Disables unicode built-in parser keywords, this flag informs the parser that built-in unicode keywords are not supported and will not be recognized as functions or operators.
      • checkIfUnicodeBuiltinKeyWordsMode

        public boolean checkIfUnicodeBuiltinKeyWordsMode()
        Gets unicode built-in parser keywords mode
        Returns:
        true if unicode built-in parser keywords is enabled, otherwise returns false.
      • enableAttemptToFixExpStrMode

        public void enableAttemptToFixExpStrMode()
        Enables attempt to fix the expression String. For example, situations such as: "++" change to "+", "+-" changed to "-" "-+" changed to "-" "--" changed to "+"
      • disableAttemptToFixExpStrMode

        public void disableAttemptToFixExpStrMode()
        Disables attempt to fix the expression String. For example, situations such as: "++" change to "+", "+-" changed to "-" "-+" changed to "-" "--" changed ro "+"
      • checkIfAttemptToFixExpStrMode

        public boolean checkIfAttemptToFixExpStrMode()
        Gets attempt to fix expression string mode
        Returns:
        true attempt to fix expression string mode is enabled, otherwise returns false.
      • getRecursiveMode

        public boolean getRecursiveMode()
        Gets recursive mode status
        Returns:
        true if recursive mode is enabled, otherwise returns false.
      • getComputingTime

        public double getComputingTime()
        Gets computing time.
        Returns:
        computing time in seconds.
      • addDefinitions

        public void addDefinitions​(PrimitiveElement... elements)
        Adds user defined elements (such as: Arguments, Constants, Functions) to the expressions.
        Parameters:
        elements - Elements list (variadic), where Argument, Constant, Function extend the same class PrimitiveElement
        See Also:
        PrimitiveElement
      • removeDefinitions

        public void removeDefinitions​(PrimitiveElement... elements)
        Removes user defined elements (such as: Arguments, Constants, Functions) to the expressions.
        Parameters:
        elements - Elements list (variadic), where Argument, Constant, Function extend the same class PrimitiveElement
        See Also:
        PrimitiveElement
      • addArguments

        public void addArguments​(Argument... arguments)
        Adds arguments (variadic) to the expression definition.
        Parameters:
        arguments - the arguments list (comma separated list)
        See Also:
        Argument, RecursiveArgument
      • defineArguments

        public void defineArguments​(String... argumentsNames)
        Enables to define the arguments (associated with the expression) based on the given arguments names.
        Parameters:
        argumentsNames - the arguments names (variadic) comma separated list
        See Also:
        Argument, RecursiveArgument
      • defineArgument

        public void defineArgument​(String argumentName,
                                   double argumentValue)
        Enables to define the argument (associated with the expression) based on the argument name and the argument value.
        Parameters:
        argumentName - the argument name
        argumentValue - the argument value
        See Also:
        Argument, RecursiveArgument
      • getArgumentIndex

        public int getArgumentIndex​(String argumentName)
        Gets argument index from the expression.
        Parameters:
        argumentName - the argument name
        Returns:
        The argument index if the argument name was found, otherwise returns Argument.NOT_FOUND
        See Also:
        Argument, RecursiveArgument
      • getArgument

        public Argument getArgument​(String argumentName)
        Gets argument from the expression.
        Parameters:
        argumentName - the argument name
        Returns:
        The argument if the argument name was found, otherwise returns null.
        See Also:
        Argument, RecursiveArgument
      • getArgument

        public Argument getArgument​(int argumentIndex)
        Gets argument from the expression.
        Parameters:
        argumentIndex - the argument index
        Returns:
        Argument if the argument index is between 0 and the last available argument index (getArgumentsNumber()-1), otherwise returns null.
        See Also:
        Argument, RecursiveArgument
      • getArgumentsNumber

        public int getArgumentsNumber()
        Gets number of arguments associated with the expression.
        Returns:
        The number of arguments (int >= 0)
        See Also:
        Argument, RecursiveArgument
      • setArgumentValue

        public void setArgumentValue​(String argumentName,
                                     double argumentValue)
        Sets argument value.
        Parameters:
        argumentName - the argument name
        argumentValue - the argument value
      • getArgumentValue

        public double getArgumentValue​(String argumentName)
        Gets argument vale.
        Parameters:
        argumentName - the argument name
        Returns:
        Argument value if argument name was found, otherwise return Double.NaN.
      • removeArguments

        public void removeArguments​(String... argumentsNames)
        Removes first occurrences of the arguments associated with the expression.
        Parameters:
        argumentsNames - the arguments names (variadic parameters) comma separated list
        See Also:
        Argument, RecursiveArgument
      • removeArguments

        public void removeArguments​(Argument... arguments)
        Removes first occurrences of the arguments associated with the expression.
        Parameters:
        arguments - the arguments (variadic parameters) comma separated list
        See Also:
        Argument, RecursiveArgument
      • removeAllArguments

        public void removeAllArguments()
        Removes all arguments associated with the expression.
        See Also:
        Argument, RecursiveArgument
      • addConstants

        public void addConstants​(Constant... constants)
        Adds constants (variadic parameters) to the expression definition.
        Parameters:
        constants - the constants (comma separated list)
        See Also:
        Constant
      • addConstants

        public void addConstants​(List<Constant> constantsList)
        Adds constants to the expression definition.
        Parameters:
        constantsList - the list of constants
        See Also:
        Constant
      • defineConstant

        public void defineConstant​(String constantName,
                                   double constantValue)
        Enables to define the constant (associated with the expression) based on the constant name and constant value.
        Parameters:
        constantName - the constant name
        constantValue - the constant value
        See Also:
        Constant
      • getConstantIndex

        public int getConstantIndex​(String constantName)
        Gets constant index associated with the expression.
        Parameters:
        constantName - the constant name
        Returns:
        Constant index if constant name was found, otherwise return Constant.NOT_FOUND.
        See Also:
        Constant
      • getConstant

        public Constant getConstant​(String constantName)
        Gets constant associated with the expression.
        Parameters:
        constantName - the constant name
        Returns:
        Constant if constant name was found, otherwise return null.
        See Also:
        Constant
      • getConstant

        public Constant getConstant​(int constantIndex)
        Gets constant associated with the expression.
        Parameters:
        constantIndex - the constant index
        Returns:
        Constant if the constantIndex is between 0 and the last available constant index (getConstantsNumber() - 1), otherwise it returns null.
        See Also:
        Constant
      • getConstantsNumber

        public int getConstantsNumber()
        Gets number of constants associated with the expression.
        Returns:
        number of constants (int >= 0)
        See Also:
        Constant
      • removeConstants

        public void removeConstants​(String... constantsNames)
        Removes first occurrences of the constants associated with the expression.
        Parameters:
        constantsNames - the constants names (variadic parameters) comma separated list
        See Also:
        Constant
      • removeConstants

        public void removeConstants​(Constant... constants)
        Removes first occurrences of the constants associated with the expression
        Parameters:
        constants - the constants (variadic parameters) comma separated list
        See Also:
        Constant
      • removeAllConstants

        public void removeAllConstants()
        Removes all constants associated with the expression
        See Also:
        Constant
      • addFunctions

        public void addFunctions​(Function... functions)
        Adds functions (variadic parameters) to the expression definition.
        Parameters:
        functions - the functions (variadic parameters) comma separated list
        See Also:
        Function
      • defineFunction

        public void defineFunction​(String functionName,
                                   String functionExpressionString,
                                   String... argumentsNames)
        Enables to define the function (associated with the expression) based on the function name, function expression string and arguments names (variadic parameters).
        Parameters:
        functionName - the function name
        functionExpressionString - the expression string
        argumentsNames - the function arguments names (variadic parameters) comma separated list
        See Also:
        Function
      • getFunctionIndex

        public int getFunctionIndex​(String functionName)
        Gets index of function associated with the expression.
        Parameters:
        functionName - the function name
        Returns:
        Function index if function name was found, otherwise returns Function.NOT_FOUND
        See Also:
        Function
      • getFunction

        public Function getFunction​(String functionName)
        Gets function associated with the expression.
        Parameters:
        functionName - the function name
        Returns:
        Function if function name was found, otherwise returns null.
        See Also:
        Function
      • getFunction

        public Function getFunction​(int functionIndex)
        Gets function associated with the expression.
        Parameters:
        functionIndex - the function index
        Returns:
        Function if function index is between 0 and the last available function index (getFunctionsNumber()-1), otherwise returns null.
        See Also:
        Function
      • getFunctionsNumber

        public int getFunctionsNumber()
        Gets number of functions associated with the expression.
        Returns:
        number of functions (int >= 0)
        See Also:
        Function
      • removeFunctions

        public void removeFunctions​(String... functionsNames)
        Removes first occurrences of the functions associated with the expression.
        Parameters:
        functionsNames - the functions names (variadic parameters) comma separated list
        See Also:
        Function
      • removeFunctions

        public void removeFunctions​(Function... functions)
        Removes first occurrences of the functions associated with the expression.
        Parameters:
        functions - the functions (variadic parameters) comma separated list.
        See Also:
        Function
      • removeAllFunctions

        public void removeAllFunctions()
        Removes all functions associated with the expression.
        See Also:
        Function
      • checkLexSyntax

        public boolean checkLexSyntax()
        Checks syntax of the expression string.
        Returns:
        true if syntax is ok
      • checkSyntax

        public boolean checkSyntax()
        Checks syntax of the expression string.
        Returns:
        true if syntax is ok
      • calculate

        public double calculate()
        Calculates the expression value and registers all the calculation steps
        Returns:
        The expression value if syntax was ok, otherwise returns Double.NaN.
      • calculate

        public double calculate​(CalcStepsRegister calcStepsRegister)
        Calculates the expression value
        Parameters:
        calcStepsRegister - A collection to store list of calculation steps, steps registered as strings.
        Returns:
        The expression value if syntax was ok, otherwise returns Double.NaN.
      • getCopyOfInitialTokens

        public List<Token> getCopyOfInitialTokens()
        Tokenizes expression string and returns tokens list, including: string, type, level.
        Returns:
        Copy of initial tokens.
        See Also:
        Token, mXparser.consolePrintTokens(List)
      • consolePrintCopyOfInitialTokens

        public void consolePrintCopyOfInitialTokens()
        Prints to the console copy of initial tokens. Presents how expression string is interpreted by the parser.
        See Also:
        getCopyOfInitialTokens()
      • getMissingUserDefinedArguments

        public String[] getMissingUserDefinedArguments()
        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

        public String[] getMissingUserDefinedUnits()
        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

        public String[] getMissingUserDefinedFunctions()
        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.
      • getHelp

        public String getHelp()
        Returns detailed user help on the syntax of mathematical expressions.
        Returns:
        One string value containing all the help.
      • getHelp

        public String getHelp​(String query)
        Returns detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        Returns:
        One string value containing all the help.
      • getHelp

        public String getHelp​(boolean addHeader,
                              boolean addCaption,
                              String caption)
        Returns detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        addHeader - Indicator whether to add a header.
        addCaption - Indicator whether to add caption.
        caption - If a non-standard caption is to be added, any string other than "" will replace the standard caption with the one specified by the user.
        Returns:
        One string value containing all the help.
      • getHelp

        public String getHelp​(String query,
                              boolean addHeader,
                              boolean addCaption,
                              String caption)
        Returns detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        addHeader - Indicator whether to add a header.
        addCaption - Indicator whether to add caption.
        caption - If a non-standard caption is to be added, any string other than ""
        Returns:
        One string value containing all the help.
      • getHelpAsCsv

        public String getHelpAsCsv()
        Returns (as CSV) detailed user help on the syntax of mathematical expressions.
        Returns:
        One string value in CSV format containing all the help.
      • getHelpAsCsv

        public String getHelpAsCsv​(String query)
        Returns (as CSV) detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        Returns:
        One string value in CSV format containing all the help.
      • getHelpAsCsv

        public String getHelpAsCsv​(String quote,
                                   String delimiter,
                                   boolean addHeader)
        Returns (as CSV) detailed user help on the syntax of mathematical expressions.
        Parameters:
        quote - Text qualifier.
        delimiter - Delimiter.
        addHeader - Indicator whether to add a header.
        Returns:
        One string value in CSV format containing all the help.
      • getHelpAsCsv

        public String getHelpAsCsv​(String query,
                                   String quote,
                                   String delimiter,
                                   boolean addHeader)
        Returns (as CSV) detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        quote - Text qualifier.
        delimiter - Delimiter.
        addHeader - Indicator whether to add a header.
        Returns:
        One string value in CSV format containing all the help.
      • getHelpAsHtmlTable

        public String getHelpAsHtmlTable()
        Returns (as HTML table) detailed user help on the syntax of mathematical expressions.
        Returns:
        One string value containing all the help. String in HTML table format.
      • getHelpAsHtmlTable

        public String getHelpAsHtmlTable​(String query)
        Returns (as HTML table) detailed user help on the syntax of mathematical expressions.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        Returns:
        One string value containing all the help. String in HTML table format.
      • getHelpAsHtmlTable

        public String getHelpAsHtmlTable​(boolean addHeader,
                                         boolean addCaption,
                                         boolean addFigure,
                                         String caption,
                                         String cssClass)
        Returns (as HTML table) detailed user help on the syntax of mathematical expressions.
        Parameters:
        addHeader - Indicator whether to add a header.
        addCaption - Indicator whether to add caption.
        addFigure - Indicator whether to add a FIGURE tag.
        caption - If a non-standard caption is to be added, use any string other than "".
        cssClass - If CSS class is to be added, use any string other than "".
        Returns:
        One string value containing all the help. String in HTML table format.
      • getHelpAsHtmlTable

        public String getHelpAsHtmlTable​(String query,
                                         boolean addHeader,
                                         boolean addCaption,
                                         boolean addFigure,
                                         String caption,
                                         String cssClass)
        Returns (as HTML table) detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        addHeader - Indicator whether to add a header.
        addCaption - Indicator whether to add caption.
        addFigure - Indicator whether to add a FIGURE tag.
        caption - If a non-standard caption is to be added, use any string other than "".
        cssClass - If CSS class is to be added, use any string other than "".
        Returns:
        One string value containing all the help. String in HTML table format.
      • getHelpAsMarkdownTable

        public String getHelpAsMarkdownTable()
        Returns (as Markdown table) detailed user help on the syntax of mathematical expressions.
        Returns:
        One string value containing all the help. String in Markdown table format.
      • getHelpAsMarkdownTable

        public String getHelpAsMarkdownTable​(String query)
        Returns (as Markdown table) detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        Returns:
        One string value containing all the help. String in Markdown table format.
      • getHelpAsMarkdownTable

        public String getHelpAsMarkdownTable​(boolean addHeader,
                                             boolean addCaption,
                                             String caption)
        Returns (as Markdown table) detailed user help on the syntax of mathematical expressions.
        Parameters:
        addHeader - Indicator whether to add a header.
        addCaption - Indicator whether to add caption.
        caption - If a non-standard caption is to be added, use any string other than "".
        Returns:
        One string value containing all the help. String in Markdown table format.
      • getHelpAsMarkdownTable

        public String getHelpAsMarkdownTable​(String query,
                                             boolean addHeader,
                                             boolean addCaption,
                                             String caption)
        Returns (as Markdown table) detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        addHeader - Indicator whether to add a header.
        addCaption - Indicator whether to add caption.
        caption - If a non-standard caption is to be added, use any string other than "".
        Returns:
        One string value containing all the help. String in Markdown table format.
      • getHelpAsJson

        public String getHelpAsJson()
        Returns (as Json) detailed user help on the syntax of mathematical expressions.
        Returns:
        One string value containing all the help. String in Json format.
      • getHelpAsJson

        public String getHelpAsJson​(String query)
        Returns (as Json) detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        Returns:
        One string value containing all the help. String in Json format.
      • getHelpAsJson

        public String getHelpAsJson​(boolean addCaption,
                                    String caption)
        Returns (as Json) detailed user help on the syntax of mathematical expressions.
        Parameters:
        addCaption - Indicator whether to add caption.
        caption - If a non-standard caption is to be added, use any string other than "".
        Returns:
        One string value containing all the help. String in Json format.
      • getHelpAsJson

        public String getHelpAsJson​(String query,
                                    boolean addCaption,
                                    String caption)
        Returns (as Json) detailed user help on the syntax of mathematical expressions. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        addCaption - Indicator whether to add caption.
        caption - If a non-standard caption is to be added, use any string other than "".
        Returns:
        One string value containing all the help. String in Json format.
      • getKeyWords

        public List<KeyWord> getKeyWords​(String query)
        Returns list of keywords known to the parser. Allows simple and advanced searches.
        Parameters:
        query - For a simple search, simply enter a word (e.g.: "sine"). Advanced search is also possible, please use one of the tags below: "key=" - keyword (e.g.: "key=sin"), "desc=" - description (e.g.: "desc=trigonometric"), "syn=" - syntax (e.g.: "syn=sin"), "type=" - type (e.g.: "type=unit"), "since=" - since (e.g.: "since=4.1"), "typeid=" - please refer to parser tokens (e.g.: "typeid=3"), "keyid=" - please refer to parser tokens (e.g.: "keyid=1004"). Only one tag can be used per search.
        Returns:
        List of keywords known to the parser filter against query string.
        See Also:
        KeyWord, KeyWord.wordTypeId, getHelp(String)
      • cloneForThreadSafe

        public Expression cloneForThreadSafe()
        Creates a completely independent 1-1 clone that can be safely used by a separate thread. If the cloned element contains references to other elements (e.g. arguments, functions, constants), then they will also be cloned and the newly created element will contain references to the corresponding clones. Important - the API allows you to extract all these clones.
        Returns:
        Cloned object.