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.sc.directive  previous next contents

Package com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive contains the following classes and interfaces.
Classes and Interfaces
CursorControlDirectiveHelper Provides common helper functions for cursor-control directives.
IScDirectiveParser Parses an SC sub-command, also known as a directive (e.g., DATA, FLD), to create a directive node in the internal parse tree of directives associated with an SC Mapper command.
IScParseTreeNode
ReplaceCharOrRepeatCountArgType Argument types for directives that allow redefinition of delimiter characters.
ScAttributes Defines and encapsulates attributes used by directives of SC command such as ATT and MSG.
ScDirectiveLexer Lexer that parses command tokens from Mapper report lines that contains sub-commands or directives (e.g., DATA, FLD) of the SC command.
ScDirectiveNode Base class for all parse tree nodes that represent parsed SC directives.
ScDirectiveParserBase Base class for SC directive parsers that contain common methods.
ScDirectiveParseResult Result returned by IRunCommandParser.parseCommand method.
ScDirectiveParseTree
ScDirectiveParseTreeFactory
ScDirectiveSource Identifies source of SC directives.
SpecialCharacterDirectiveNodeBase
SpecialCharacterDirectiveParserBase Parses a TIC SC directive.

Class: CursorControlDirectiveHelper   next package

Provides common helper functions for cursor-control directives. Treat this class as "thread-safe", since it is immutable once created.
public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.CursorControlDirectiveHelper
  extends java.lang.Object
Constructors
Initializes an instance of this class.
Parameters:
aDirectiveName - the directive for which helper functions will be used
public CursorControlDirectiveHelper(java.lang.String aDirectiveName)
Methods
Parse a simple text expression or variable reference from input tokens. Use this method if one or more expressions are valid in the current parsing context.
Parameters:
someParsedExpressions - initial token to examine returned from a previous call to lexer.
aUserRID - report ID string that is meaningful to user as an error context.
aLineNumber - line number in report where directive that contains expression occurs.
Returns:
parse result object.
public com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr extractSimpleTextOrVariable(com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.ConcatExprResult someParsedExpressions, java.lang.String aUserRID, int aLineNumber)

Interface: IScDirectiveParser   previous next package

Parses an SC sub-command, also known as a directive (e.g., DATA, FLD), to create a directive node in the internal parse tree of directives associated with an SC Mapper command.
public interface com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.IScDirectiveParser
Methods
public com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParseResult parseDirective(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer, org.springframework.context.ApplicationContext anAppCtx)
    throws com.arsi.mj.MJTranslateException

Interface: IScParseTreeNode   previous next package

public interface com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.IScParseTreeNode
Methods
Get line(s) in Mapper report that are the source of this parse tree node.
Returns:
line(s) in Mapper report from which node was parsed.
public java.util.List getLines()

Class: ReplaceCharOrRepeatCountArgType   previous next package

Argument types for directives that allow redefinition of delimiter characters.
public final class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType
  extends java.lang.Enum
Fields
Indicates that the argument is intended to re-define the character(s) used to invoke the directive.
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType REDEFINED
An argument marked with this value indicates how many times the directive should be applied.
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType REPEATED
Indicates that the value usage can only be determined at run-time.
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType VARIANT_OR_UNKNOWN
Methods
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType valueOf(java.lang.String name)
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType values()

Class: ScAttributes   previous next package

Defines and encapsulates attributes used by directives of SC command such as ATT and MSG.
public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes
  extends java.lang.Object
Inner Class Attribute
Enumerated attributes used by certain SC directives, associated with attribute mnemonics. This class must implement that static method fromString for use with class StrCmdOptionConcatExpr.
public static final class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute
  extends java.lang.Enum
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute ALPHA_INPUT_ONLY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute ALPHA_KANJI_INPUT_ONLY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute ANY_INPUT
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute ANY_INPUT_KANJI
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute BLINKING
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_BACKGROUND
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_BLACK
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_BLUE
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_BORDER
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_CYAN
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_FIELD
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_GREEN
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_MAGENTA
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_MENU
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_RED
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_REPORT
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_TITLE
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_WHITE
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute COLOR_YELLOW
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute CURSOR_ONLY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute KANJI_INPUT_ONLY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute LOW_INTENSITY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute NORMAL_INTENSITY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute NUMERIC_INPUT_ONLY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute NUMERIC_KANJI_INPUT_ONLY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute PROTECTED
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute RIGHT_JUSTIFY
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute TABSTOP
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute UNPROTECTYED_EMPHASIS
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute VIDEO_OFF
public java.lang.String asString()
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute fromString(java.lang.String anOptstr)
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute valueOf(java.lang.String name)
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.Attribute values()
Inner Class AttributeReferenceExprWrapper
Reference to attribute(s) previously defined with SC DEF directive; such a reference is an integer (e.g., 1), but the attribute reference may be stored in a named or numbered variable. For example:

public static class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.AttributeReferenceExprWrapper
  extends java.lang.Object
  implements com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.IAttributeExprWrapper
public final com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr getReferenceExpr()
public java.lang.String toMapperString()
Inner Class ColorPairAttributeExprWrapper
Pair of color attributes (e.g., blu/whi or TC/BAC).
public static class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.ColorPairAttributeExprWrapper
  extends java.lang.Object
  implements com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.IAttributeExprWrapper
public final com.arsi.mj.maprpt.lexer.ptree.expr.ICommandOptionExpr getBackgroundColor()
public final com.arsi.mj.maprpt.lexer.ptree.expr.ICommandOptionExpr getForegroundColor()
public java.lang.String toMapperString()
Inner Interface IAttributeExprWrapper
Marker interface for classes that wrap attribute expressions.
public static interface com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.IAttributeExprWrapper
Convert expression to Mapper source string.
Returns:
expression as Mapper source string.
public java.lang.String toMapperString()
Inner Class SimpleAttributeExprWrapper
Simple, single attribute (e.g., PR, LI).
public static class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.SimpleAttributeExprWrapper
  extends java.lang.Object
  implements com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScAttributes.IAttributeExprWrapper
public final com.arsi.mj.maprpt.lexer.ptree.expr.ICommandOptionExpr getAttribute()
public java.lang.String toMapperString()
Constructors
public ScAttributes()

Class: ScDirectiveLexer   previous next package

Lexer that parses command tokens from Mapper report lines that contains sub-commands or directives (e.g., DATA, FLD) of the SC command.
public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer
  extends java.lang.Object
Constructors
Initializes an instance of this class.
Parameters:
aLexer - lexer to be used in building of this parse tree.
aDirectiveSource - the parsing source for directives
public ScDirectiveLexer(com.arsi.mj.maprpt.lexer.MaprptLexer aLexer, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource aDirectiveSource)
Methods
Get number of cabinet of Mapper report being parsed.
Returns:
the cabinet number
public final int cabinetNumber()
Get letter of drawer of Mapper report being parsed.
Returns:
the drawer letter
public final char drawerLetter()
Perform lexical analysis to get next token from line(s) containing SC directives.
Throws:
MJTranslateException - if an unexpected parsing error occurs.
Returns:
a token, which is expected to be a command token (the token is the smallest lexical unit that can can be parsed from a screen control directive). NULL is returned when no more tokens are available in the input.
public com.arsi.mj.maprpt.lexer.tokens.IMaprptToken getNextToken()
    throws com.arsi.mj.MJTranslateException
Get the underlying MaprptLexer.
Returns:
the internal lexer representation
public final com.arsi.mj.maprpt.lexer.MaprptLexer lexer()
Push token back to lexer so that getting the next token returns the pushed-back token instead of parsing a new token from the input.
Parameters:
aToken - token to push back.
public void pushbackToken(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aToken)
Get number of Mapper report being parsed.
Returns:
the report number
public final int reportNumber()
Get source of SC directives.
Returns:
source of directives (e.g., ScDirectiveSource.RESULT).
public final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource sourceOfDirectives()

Class: ScDirectiveNode   previous next package

Base class for all parse tree nodes that represent parsed SC directives.
public abstract class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveNode
  extends java.lang.Object
  implements com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.IScParseTreeNode
Fields
protected final com.arsi.mj.maprpt.parser.line.types.AtLine hostLine
Constructors
protected ScDirectiveNode(com.arsi.mj.maprpt.parser.line.types.AtLine aHostLine)
Methods
public java.util.List getLines()

Class: ScDirectiveParserBase   previous next package

Base class for SC directive parsers that contain common methods.
Treat this class as "thread-hostile", as an instance is designed to be created, used and discarded by a single thread.
public abstract class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase
  extends com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase
Inner Class AttributeParseResult
Result returned by parseAttributes method.
public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.AttributeParseResult
  extends java.lang.Object
Attribute expression resulting from parsing text from token stream, NULL if none parsed.
public final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.expr.ScAttributeExpr attrExpr

Last token read during parse, which should become the new initial token.
public final com.arsi.mj.maprpt.lexer.tokens.IMaprptToken lastTokenRead

Initializes an instance of this class.
Parameters:
aLastTokenRead - last token read during parse, which should become the new initial token.
anAttrExpr - attribute expression resulting from parsing text from token stream, or NULL if no attribute(s) found.
public ScDirectiveParserBase.AttributeParseResult(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aLastTokenRead, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.expr.ScAttributeExpr anAttrExpr)
Inner Class ConcatExprListResult
Result returned by parseItems method.
public static class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.ConcatExprListResult
  extends java.lang.Object
public final java.util.List concatExprList
public final com.arsi.mj.maprpt.lexer.tokens.IMaprptToken lastTokenRead
Initializes an instance of this class.
Parameters:
aLastTokenRead - last token read during parse, which should become the new initial token. If encountered EOF on lexer (last token in last command line on Mapper report), this will be NULL.
aList - aggregation of concatenation expressions, or an empty collection if none are found.
public ScDirectiveParserBase.ConcatExprListResult(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aLastTokenRead, java.util.List aList)
Inner Class FieldOrListExprParseResult
Result returned by parseFieldOrListExpr method.
public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.FieldOrListExprParseResult
  extends java.lang.Object
Field or list dereference expression resulting from parsing token stream (e.g., ScFieldOrdinalExpr, ScListLineNumberExpr).
public final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.expr.ScFieldOrListDerefExpr fieldOrListExpr

Last token read during parse, which should become the new initial token.
public final com.arsi.mj.maprpt.lexer.tokens.IMaprptToken lastTokenRead

Initializes an instance of this class.
Parameters:
aLastTokenRead - last token read during parse, which should become the new initial token.
anExpr - Field or list dereference expression resulting from parsing token stream.
public ScDirectiveParserBase.FieldOrListExprParseResult(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aLastTokenRead, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.expr.ScFieldOrListDerefExpr anExpr)
Inner Class TokensForTextParseResult
Result returned by ScDirectiveParserBase.parseTokensForText method.
public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.TokensForTextParseResult
  extends java.lang.Object
Last token read during parse, which should become the new initial token.
public final com.arsi.mj.maprpt.lexer.tokens.IMaprptToken lastTokenRead

Concatenation expression resulting from parsing text from token stream, NULL if none parsed.
public final com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr textConcatExpr

Initializes an instance of this class.
Parameters:
aLastTokenRead - last token read during parse, which should become the new initial token. This is typically the token that ends the SC directive argument (e.g., CommaToken), SC directive itself or text snippet (e.g., SemicolonToken). Or it may be a token that has special meaning, such as a particular character in an SC directive argument.
anExpr - concatenation expression resulting from parsing text from token stream, or NULL if no tokens or token syntax considered to be text found.
public ScDirectiveParserBase.TokensForTextParseResult(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aLastTokenRead, com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr anExpr)
Fields
Re-usable line data.
protected com.arsi.mj.maprpt.parser.line.types.AtLine hostLine
Re-usable line number data.
protected int lineNumber
Re-usable RID data.
protected java.lang.String userRID
Constructors
public ScDirectiveParserBase()
Methods
Builds a check for a potentially complex argument expression that ends with a blank, a comma or a semicolon.
Returns:
an end-of-expression check that allows multiple expressions to be aggregated
protected com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.IConcatEndOfExpr endOfMultipartExpr()
Builds a check for a potentially complex argument expression that ends with a blank, a comma, a semicolon or a hyphen.
Returns:
an end-of-expression check that allows multiple expressions to be aggregated
protected com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.IConcatEndOfExpr endOfRangeExpr()
Builds a check for a simple argument expression that ends with a blank, a comma or a semicolon.
Returns:
a one-shot end-of-expression check
protected com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.IConcatEndOfExpr endOfSingleExpr()
Extracts common-use information prior to parsing.
Parameters:
anInitialToken - the token provided to the parser
aLexer - the current lexer
protected void extractParsingContext(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer)
Parse SC attributes from the Mapper report lexer. Examples of attributes include 2 (numeric reference to attribute defined by DEF), VV33 (indirect, numbered variable containing numeric reference to attribute defined by DEF) and (RJ,yel/red,PR) (attribute literals, including color pair). This method eats all tokens it reads except for the last token read, so invoke only when an attribute specification is the next thing expected in the input.
Parameters:
anInitialToken - initial token to examine returned from a previous call to lexer.
aLexer - SC lexer for obtaining additional tokens.
anAttrEndOfExpr - determines if end of attribute specification has been reached (e.g., comma that delimits parameter or semicolon that ends directive was found)
Throws:
MJTranslateException - if an syntax error occur while parsing the attribute specification.
Returns:
result that contains attributes (if any parsed) and last token read.
public com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.AttributeParseResult parseAttributes(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer, com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.IConcatEndOfExpr anAttrEndOfExpr)
    throws com.arsi.mj.MJTranslateException
Retrieves the next potential argument for the current directive.
Parameters:
aCurrentToken - the token most recently obtained
aLexer - the line lexer in use
Returns:
the parsed expressions (if any)
protected com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.ConcatExprResult parseDirectiveArgument(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aCurrentToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer)
Attempt to parse SC field or LIST reference such as $1, $<myVar>, $#, %2, %# and %VV33.
Parameters:
anInitialToken - initial token to examine returned from a previous call to lexer.
aLexer - SC lexer for obtaining additional tokens; these tokens are pushed back by this method if the input is not recognized as a field or LIST reference.
Throws:
MJTranslateException - if an syntax error occur while parsing the field or LIST reference.
Returns:
result that contains attributes (if any parsed) and last token read.
public com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.FieldOrListExprParseResult parseFieldOrListExpr(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer)
    throws com.arsi.mj.MJTranslateException
Separates the comma-delimited items following an FKEY directive into multiple expressions.
Parameters:
aLatestToken - the token most recently read from the lexer
aLexer - the current parser
Returns:
the parsed expression content
protected com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.ConcatExprListResult parseItems(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aLatestToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer)
Parse a simple text expression or variable reference from input tokens. Use this method if only one expression is allowed/expected in the current parsing context.
Parameters:
anInitialToken - initial token to examine returned from a previous call to lexer.
aLexer - lexer for obtaining additional tokens.
anEndOfExpr - determines if end of text or variable expression has been reached.
aUserRID - report ID string that is meaningful to user as an error context.
aLineNumber - line number in report where directive that contains expression occurs.
aDescription - description of directive and/or expression being parsed, e.g., "row in MSG directive of SC".
Returns:
parse result object.
protected com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.ConcatExprResult parseOneshotTextOrVariable(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.MaprptLexer aLexer, com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.IConcatEndOfExpr anEndOfExpr, java.lang.String aUserRID, int aLineNumber, java.lang.String aDescription)
Parse a simple text expression or variable reference from input tokens.
Parameters:
anInitialToken - initial token to examine returned from a previous call to lexer.
aLexer - lexer for obtaining additional tokens.
anEndOfExpr - determines if end of text or variable expression has been reached.
aUserRID - report ID string that is meaningful to user as an error context.
aLineNumber - line number in report where directive that contains expression occurs.
aDescription - description of directive and/or expression being parsed, e.g., "row in MSG directive of SC".
Returns:
parse result object.
protected com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.ConcatExprResult parseSimpleTextOrVariable(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.MaprptLexer aLexer, com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.IConcatEndOfExpr anEndOfExpr, java.lang.String aUserRID, int aLineNumber, java.lang.String aDescription)
protected com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase.TokensForTextParseResult parseTokensForText(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer, com.arsi.mj.maprpt.lexer.ptree.cmd.RunCommandParserBase.IConcatEndOfExpr aTextEndOfExpr)
Do read-ahead of lexer to a strict check that token(s) following a less-than token resemble the start of a named variable (i.e., alphanumeric follows, or another less-than token then followed by an alphanumeric, a closing greater-then token, and possibly an array subscript).
Parameters:
aLessThanToken - initial less-than token parsed from lexer.
aLexer - lexer for obtaining additional tokens; tokens that resemble a named variable are pushed back onto lexer before returning true.
aNoResemblancePushback - queue where token(s) that do not resemble a named variable are pushed back before returning false (including aLessThanToken).
Returns:
true if resembles a named variable, false if not.
protected boolean resemblesNamedVariableRefStrict(com.arsi.mj.maprpt.lexer.tokens.cmd.LessThanToken aLessThanToken, com.arsi.mj.maprpt.lexer.MaprptLexer aLexer, java.util.Deque aNoResemblancePushback)

Class: ScDirectiveParseResult   previous next package

Result returned by IRunCommandParser.parseCommand method.
public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParseResult
  extends java.lang.Object
Fields
Node that results from parsing directive.
public final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveNode directiveNode
Last token read during parse, which should become the new initial token.
public final com.arsi.mj.maprpt.lexer.tokens.IMaprptToken lastTokenRead
Constructors
Initializes an instance of this class.
Parameters:
aLastTokenRead - last token read during parse, which should become the new initial token. This is typically the token that ends the directive, such as SemicolonToken or BlankToken.
aNode - node resulting from parsing SC directive.
public ScDirectiveParseResult(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken aLastTokenRead, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveNode aNode)

Class: ScDirectiveParseTree   previous next package

public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParseTree
  extends java.lang.Object
Constructors
public ScDirectiveParseTree()

Class: ScDirectiveParseTreeFactory   previous next package

public class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParseTreeFactory
  extends java.lang.Object
Constructors
public ScDirectiveParseTreeFactory()

Class: ScDirectiveSource   previous next package

Identifies source of SC directives.
public final class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource
  extends java.lang.Enum
Fields
Directives are passed as arguments "inline" to SC command, documented as format 1 in Mapper command reference.
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource ARGUMENT
Directives are contained in report passed to SC command, also documented as format 2 in Mapper command reference.
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource REPORT
Directives are contained in result (i.e., built in output area) passed to SC command, documented as format 2 in Mapper command reference.
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource RESULT
Methods
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource valueOf(java.lang.String name)
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveSource values()

Class: SpecialCharacterDirectiveNodeBase   previous next package

public abstract class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveNodeBase
  extends com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveNode
Constructors
Initializes an instance of this class.
Parameters:
aHostLine - Mapper report line that hosts this command
anArgumentExpr - expression containing the directive argument
anArgumentType - determines how the argument should be applied
protected SpecialCharacterDirectiveNodeBase(com.arsi.mj.maprpt.parser.line.types.AtLine aHostLine, com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr anArgumentExpr, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType anArgumentType)
Methods
public com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr getArgumentExpr()
public com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType getArgumentType()

Class: SpecialCharacterDirectiveParserBase   previous package

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

public abstract class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase
  extends com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParserBase
  implements com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.IScDirectiveParser
Inner Class SpecialCharacterDirectiveType
public static final class com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType
  extends java.lang.Enum
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType LB
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType RB
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType SOE
public static final com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType TIC
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType valueOf(java.lang.String name)
public static com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType values()
Constructors
protected SpecialCharacterDirectiveParserBase(com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveParserBase.SpecialCharacterDirectiveType aDirectiveType)
Methods
Ensures a valid special character node is constructed correctly.
Parameters:
aHostLine - Mapper report line that hosts this command
anArgumentExpr - expression containing the directive argument
anArgumentType - determines how the argument should be applied
Returns:
the constructed node
protected abstract com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.SpecialCharacterDirectiveNodeBase buildNode(com.arsi.mj.maprpt.parser.line.types.AtLine aHostLine, com.arsi.mj.maprpt.lexer.ptree.expr.ConcatExpr anArgumentExpr, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ReplaceCharOrRepeatCountArgType anArgumentType)
public com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveParseResult parseDirective(com.arsi.mj.maprpt.lexer.tokens.IMaprptToken anInitialToken, com.arsi.mj.maprpt.lexer.ptree.cmd.sc.directive.ScDirectiveLexer aLexer, org.springframework.context.ApplicationContext anAppCtx)
    throws com.arsi.mj.MJTranslateException