Class JexlEngine.Scope

  • Enclosing class:
    JexlEngine

    public static final class JexlEngine.Scope
    extends java.lang.Object
    A script scope, stores the declaration of parameters and local variables.
    Since:
    2.1
    • Constructor Summary

      Constructors 
      Constructor Description
      Scope​(java.lang.String... parameters)
      Creates a new scope with a list of parameters.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      JexlEngine.Frame createFrame​(java.lang.Object... values)
      Creates a frame by copying values up to the number of parameters.
      java.lang.Integer declareVariable​(java.lang.String name)
      Declares a local variable.
      boolean equals​(java.lang.Object o)  
      boolean equals​(JexlEngine.Scope frame)
      Whether this frame is equal to another.
      int getArgCount()
      Gets the (maximum) number of arguments this script expects.
      java.lang.String[] getLocalVariables()
      Gets this script local variable, i.e.
      java.lang.String[] getParameters()
      Gets this script parameters, i.e.
      java.lang.Integer getRegister​(java.lang.String name)
      Checks whether an identifier is a local variable or argument, ie stored in a register.
      java.lang.String[] getRegisters()
      Gets this script registers, i.e.
      int hashCode()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Scope

        public Scope​(java.lang.String... parameters)
        Creates a new scope with a list of parameters.
        Parameters:
        parameters - the list of parameters
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • equals

        public boolean equals​(JexlEngine.Scope frame)
        Whether this frame is equal to another.
        Parameters:
        frame - the frame to compare to
        Returns:
        true if equal, false otherwise
      • getRegister

        public java.lang.Integer getRegister​(java.lang.String name)
        Checks whether an identifier is a local variable or argument, ie stored in a register.
        Parameters:
        name - the register name
        Returns:
        the register index
      • declareVariable

        public java.lang.Integer declareVariable​(java.lang.String name)
        Declares a local variable.

        This method creates an new entry in the named register map.

        Parameters:
        name - the variable name
        Returns:
        the register index storing this variable
      • createFrame

        public JexlEngine.Frame createFrame​(java.lang.Object... values)
        Creates a frame by copying values up to the number of parameters.
        Parameters:
        values - the argument values
        Returns:
        the arguments array
      • getArgCount

        public int getArgCount()
        Gets the (maximum) number of arguments this script expects.
        Returns:
        the number of parameters
      • getRegisters

        public java.lang.String[] getRegisters()
        Gets this script registers, i.e. parameters and local variables.
        Returns:
        the register names
      • getParameters

        public java.lang.String[] getParameters()
        Gets this script parameters, i.e. registers assigned before creating local variables.
        Returns:
        the parameter names
      • getLocalVariables

        public java.lang.String[] getLocalVariables()
        Gets this script local variable, i.e. registers assigned to local variables.
        Returns:
        the parameter names