Skip navigation links
org.mvel2

Class ParserContext

    • Field Detail

      • variablesEscape

        protected boolean variablesEscape
    • Method Detail

      • createColoringSubcontext

        public ParserContext createColoringSubcontext()
      • hasVarOrInput

        public boolean hasVarOrInput(String name)
        Tests whether or not a variable or input exists in the current parser context.
        Parameters:
        name - The name of the identifier.
        Returns:
        boolean
      • getVarOrInputType

        public Class getVarOrInputType(String name)
        Return the variable or input type froom the current parser context. Returns Object.class if the type cannot be determined.
        Parameters:
        name - The name of the identifier
        Returns:
        boolean
      • getVarOrInputTypeOrNull

        public Class getVarOrInputTypeOrNull(String name)
      • getLineCount

        public int getLineCount()
        Get total number of lines declared in the current context.
        Returns:
        int of lines
      • setLineCount

        public int setLineCount(int lineCount)
        Set the current number of lines in the current context. (Generally only used by the compiler)
        Parameters:
        lineCount - The number of lines
        Returns:
        int of lines
      • incrementLineCount

        public int incrementLineCount(int increment)
        Increments the current line count by the specified amount
        Parameters:
        increment - The number of lines to increment
        Returns:
        int of lines
      • getLineOffset

        public int getLineOffset()
        Get the current line offset. This measures the number of cursor positions back to the beginning of the line.
        Returns:
        int offset
      • setLineOffset

        public void setLineOffset(int lineOffset)
        Sets the current line offset. (Generally only used by the compiler)
        Parameters:
        lineOffset - The offset amount
      • setLineAndOffset

        public void setLineAndOffset(int lineCount,
                                     int lineOffset)
        Sets both the current line count and line offset
        Parameters:
        lineCount - The line count
        lineOffset - The line offset
      • getImport

        public Class getImport(String name)
        Get an import that has been declared, either in the parsed script or programatically
        Parameters:
        name - The name identifier for the imported class (ie. "HashMap")
        Returns:
        An instance of Class denoting the imported class.
      • getStaticImport

        public MethodStub getStaticImport(String name)
        Get a MethodStub which wraps a static method import.
        Parameters:
        name - The name identifier
        Returns:
        An instance of MethodStub
      • getStaticOrClassImport

        public Object getStaticOrClassImport(String name)
        Returns either an instance of Class or MethodStub (whichever matches).
        Parameters:
        name - The name identifier.
        Returns:
        An instance of Class or MethodStub
      • addPackageImport

        public void addPackageImport(String packageName)
        Adds a package import to a parse session.
        Parameters:
        packageName - A fully qualified package (eg. java.util.concurrent).
      • hasImport

        public boolean hasImport(String name)
        Tests to see if the specified import exists.
        Parameters:
        name - A name identifier
        Returns:
        boolean
      • hasProtoImport

        public boolean hasProtoImport(String name)
      • getProtoImport

        public Proto getProtoImport(String name)
      • addImport

        public void addImport(Class cls)
        Adds an import for the specified Class.
        Parameters:
        cls - The instance of the Class which represents the imported class.
      • addImport

        public void addImport(Proto proto)
      • addImport

        public void addImport(String name,
                              Class cls)
        Adds an import for a specified Class using an alias. For example:
        
         parserContext.addImport("sys", System.class);
         
        ... doing this would allow an MVEL script to be written as such:
        
         sys.currentTimeMillis();
         
        Parameters:
        name - The alias to use
        cls - The instance of the Class which represents the imported class.
      • addImport

        public void addImport(String name,
                              Method method)
        Adds an import for a specified Method representing a static method import using an alias. For example:
        
         parserContext.addImport("time", MVEL.getStaticMethod(System.class, "currentTimeMillis", new Class[0]));
         
        ... doing this allows the System.currentTimeMillis() method to be executed in a script simply by writing time().
        Parameters:
        name - The alias to use
        method - The instance of Method which represents the static import.
      • initializeTables

        public void initializeTables()
        Initializes internal Maps. Called by the compiler.
      • addVariable

        public void addVariable(String name,
                                Class type,
                                boolean failIfNewAssignment)
      • addVariable

        public void addVariable(String name,
                                Class type)
      • addVariables

        public void addVariables(Map<String,Class> variables)
      • addInput

        public void addInput(String name,
                             Class type)
      • addInput

        public void addInput(String name,
                             Class type,
                             Class[] typeParameters)
      • processTables

        public void processTables()
      • addError

        public void addError(ErrorDetail errorDetail)
      • isFatalError

        public boolean isFatalError()
      • setFatalError

        public void setFatalError(boolean fatalError)
      • isStrictTypeEnforcement

        public boolean isStrictTypeEnforcement()
      • setStrictTypeEnforcement

        public void setStrictTypeEnforcement(boolean strictTypeEnforcement)
        Enables strict type enforcement -
        Parameters:
        strictTypeEnforcement - -
      • isStrongTyping

        public boolean isStrongTyping()
      • setStrongTyping

        public void setStrongTyping(boolean strongTyping)
        Enables strong type enforcement.
        Parameters:
        strongTyping - -
      • isRetainParserState

        public boolean isRetainParserState()
      • setRetainParserState

        public void setRetainParserState(boolean retainParserState)
      • getRootParser

        public Parser getRootParser()
      • setRootParser

        public void setRootParser(Parser rootParser)
      • getSourceFile

        public String getSourceFile()
      • setSourceFile

        public void setSourceFile(String sourceFile)
      • pushVariableScope

        public void pushVariableScope()
      • popVariableScope

        public void popVariableScope()
      • makeVisible

        public void makeVisible(String var)
      • getVariableScope

        public Set<String> getVariableScope()
      • isVariableVisible

        public boolean isVariableVisible(String var)
      • isCompiled

        public boolean isCompiled()
      • setCompiled

        public void setCompiled(boolean compiled)
      • isDebugSymbols

        public boolean isDebugSymbols()
      • setDebugSymbols

        public void setDebugSymbols(boolean debugSymbols)
      • isLineMapped

        public boolean isLineMapped(String sourceName)
      • initLineMapping

        public void initLineMapping(String sourceName,
                                    char[] expr)
      • getLineFor

        public int getLineFor(String sourceName,
                              int cursor)
      • isVisitedLine

        public boolean isVisitedLine(String sourceName,
                                     int lineNumber)
      • visitLine

        public void visitLine(String sourceName,
                              int lineNumber)
      • getLastLineLabel

        public LineLabel getLastLineLabel()
      • hasImports

        public boolean hasImports()
      • declareFunction

        public void declareFunction(Function function)
      • getFunctions

        public Map getFunctions()
      • hasFunction

        public boolean hasFunction(String name)
      • hasFunction

        public boolean hasFunction()
      • addTypeParameters

        public void addTypeParameters(String name,
                                      Class type)
      • getTypeParametersAsArray

        public Type[] getTypeParametersAsArray(String name)
      • isBlockSymbols

        public boolean isBlockSymbols()
      • setBlockSymbols

        public void setBlockSymbols(boolean blockSymbols)
      • isVariablesEscape

        public boolean isVariablesEscape()
      • isExecutableCodeReached

        public boolean isExecutableCodeReached()
      • setExecutableCodeReached

        public void setExecutableCodeReached(boolean executableCodeReached)
      • optimizationNotify

        public void optimizationNotify()
      • isOptimizerNotified

        public boolean isOptimizerNotified()
      • addIndexedInput

        public void addIndexedInput(String[] variables)
      • addIndexedLocals

        public void addIndexedLocals(String[] variables)
      • addIndexedLocals

        public void addIndexedLocals(Collection<String> variables)
      • addIndexedInput

        public void addIndexedInput(String variable)
      • addIndexedInputs

        public void addIndexedInputs(Collection<String> variables)
      • variableIndexOf

        public int variableIndexOf(String name)
      • getEvaluationContext

        public Object getEvaluationContext()
      • hasIndexedInputs

        public boolean hasIndexedInputs()
      • isIndexAllocation

        public boolean isIndexAllocation()
      • setIndexAllocation

        public void setIndexAllocation(boolean indexAllocation)
      • isFunctionContext

        public boolean isFunctionContext()
      • getLastTypeParameters

        public Type[] getLastTypeParameters()
      • setLastTypeParameters

        public void setLastTypeParameters(Type[] lastTypeParameters)
      • isAllowBootstrapBypass

        public boolean isAllowBootstrapBypass()
      • setAllowBootstrapBypass

        public void setAllowBootstrapBypass(boolean allowBootstrapBypass)
      • getIndexedVarNames

        public String[] getIndexedVarNames()

Copyright © 2001–2017 JBoss by Red Hat. All rights reserved.