Follow the links below to browse sample Javadoc for MJ classes and tools, including the MJ Runtime Library.

 

Package: com.arsi.mj.maprpt.lexer.ptree.cmd.call  previous next contents

Package com.arsi.mj.maprpt.lexer.ptree.cmd.call contains the following classes and interfaces.
Classes and Interfaces
CallCommandParser Parses a CALL RUN command.
CallParseNode Parse node that represents a CALL RUN command.

Class: CallCommandParser   next package

Parses a CALL RUN command.
Treat this class as "thread-hostile"; instances should be created, used and discarded by single thread at a time.

public class com.arsi.mj.maprpt.lexer.ptree.cmd.call.CallCommandParser
  extends com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase
  implements com.arsi.mj.maprpt.lexer.ptree.cmd.IRunCommandParser
Constructors
public CallCommandParser()
Methods
Check concatenation expression for a call-by-value variable (e.g., *, *V55) and reduce to a single variable reference.
Parameters:
aConcatExpr - concatenation expression to check for call-by-value variable.
Returns:
a variable reference expression that can replace aConcatExpr, or NULL if a call-by-value variable was not recognized.
protected com.arsi.mj.maprpt.lexer.ptree.expr.IVariableDerefExpr checkAndReduceCallByValueVariable(com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr aConcatExpr)
public com.arsi.mj.maprpt.lexer.ptree.cmd.CommandParseResult parseCommand(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.MaprptLexer aLexer, org.springframework.context.ApplicationContext anAppCtx)
    throws com.arsi.mj.MJTranslateException

Class: CallParseNode   previous package

Parse node that represents a CALL RUN command.
Treat this class as "thread-hostile" since it holds substantial state without method synchronization; instances should only be used by single thread at a time.

public class com.arsi.mj.maprpt.lexer.ptree.cmd.call.CallParseNode
  extends com.arsi.mj.maprpt.lexer.ptree.CommandParseNode
  implements com.arsi.mj.maprpt.lexer.symtab.vardecl.ISupportsScalarDeclaration, com.arsi.mj.maprpt.lexer.symtab.ISupportsVariableReference
Fields
Subroutine arguments (empty list if none), which are either VariableReferenceExpr, DeclaredVariableExpr or TextExpr since CALL allows only limited argument types (no numeric literals, reserved words or strings bounds). As noted, in the case of a variable, it may include a variable type and size (i.e., variable declaration).
public final java.util.List arguments
Expression that yields label (or function name, in the case of JavaScript) where subroutine begins, may be NULL only where externalSubrtnCdr is not NULL and identifies a registered, named JavaScript subroutine.
public final com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr labelConcatExpr
Constructors
Initializes an instance of this class.
Parameters:
aHostLine - Mapper report line that hosts this command
anExternalCdr - report (or result) containing external subroutine as a cabinet-drawer-report specification, may be NULL if internal subroutine.
aLabelExpr - start-of-subroutine label or JavaScript function name as concatenation expression.
someArguments - arguments to CALL as VariableReferenceExpr, TextExpr; pass empty list if no arguments).
public CallParseNode(com.arsi.mj.maprpt.parser.line.types.AtLine aHostLine, com.arsi.mj.maprpt.lexer.ptree.symbol.Cdr anExternalCdr, com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr aLabelExpr, java.util.List someArguments)
Methods
public java.util.List declareScalarVariables()
Get subroutine arguments.
Returns:
list of either VariableReferenceExpr, TextExpr; empty list if subroutine has no arguments.
public final java.util.List getArguments()
Get report (or possibly result) containing external subroutine.
Returns:
report or result containing external subroutine as cabinet-drawer-report specification.
public final com.arsi.mj.maprpt.lexer.ptree.symbol.Cdr getExternalSubrtnReportOrResult()
Get start-of-subroutine-label (or JavaScript function name) as runtime expression that yields entry point as label or function.
Returns:
expression that yields label where subroutine starts or JavaScript function name; if the external subroutine is JavaScript, function name may be NULL.
public final com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr getLabelOrFunctionExpr()
public java.util.List referencedVariables()