Package org.apache.jasper.compiler
Class SmapStratum
java.lang.Object
org.apache.jasper.compiler.SmapStratum
Represents the line and file mappings associated with a JSR-045
"stratum".
- Author:
- Jayson Falkner, Shawn Bayern
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds record of a new file, by filename.void
Adds record of a new file, by filename and path.void
addLineData
(int inputStartLine, String inputFileName, int inputLineCount, int outputStartLine, int outputLineIncrement) Adds complete information about a simple line mapping.void
addLineInfo
(org.apache.jasper.compiler.SmapStratum.LineInfo li) getInputLineNumber
(int outputLineNumber) void
Combines consecutive LineInfos wherever possiblevoid
setClassFileName
(String classFileName) void
setOutputFileName
(String outputFileName) toString()
-
Constructor Details
-
SmapStratum
public SmapStratum()
-
-
Method Details
-
addFile
Adds record of a new file, by filename.- Parameters:
filename
- the filename to add, unqualified by path.
-
addFile
Adds record of a new file, by filename and path. The path may be relative to a source compilation path.- Parameters:
filename
- the filename to add, unqualified by pathfilePath
- the path for the filename, potentially relative to a source compilation path
-
optimizeLineSection
public void optimizeLineSection()Combines consecutive LineInfos wherever possible -
addLineData
public void addLineData(int inputStartLine, String inputFileName, int inputLineCount, int outputStartLine, int outputLineIncrement) Adds complete information about a simple line mapping. Specify all the fields in this method; the back-end machinery takes care of printing only those that are necessary in the final SMAP. (My view is that fields are optional primarily for spatial efficiency, not for programmer convenience. Could always add utility methods later.)- Parameters:
inputStartLine
- starting line in the source file (SMAPInputStartLine
)inputFileName
- the filepath (or name) from which the input comes (yields SMAPLineFileID
) Use unqualified names carefully, and only when they uniquely identify a file.inputLineCount
- the number of lines in the input to map (SMAPLineFileCount
)outputStartLine
- starting line in the output file (SMAPOutputStartLine
)outputLineIncrement
- number of output lines to map to each input line (SMAPOutputLineIncrement
). Given the fact that the name starts with "output", I continuously have the subconscious urge to call this fieldOutputLineExcrement
.
-
addLineInfo
public void addLineInfo(org.apache.jasper.compiler.SmapStratum.LineInfo li) -
setOutputFileName
-
setClassFileName
-
getClassFileName
-
toString
-
getSmapString
-
getInputLineNumber
-