Class TemplateParser

java.lang.Object
gg.jte.compiler.TemplateParser

public final class TemplateParser extends Object
  • Field Details

    • templateCode

      private final String templateCode
    • type

      private final TemplateType type
    • visitor

      private final TemplateParserVisitor visitor
    • config

      private final TemplateConfig config
    • contentType

      private final ContentType contentType
    • htmlPolicy

      private final HtmlPolicy htmlPolicy
    • htmlTags

      private final String[] htmlTags
    • trimControlStructures

      private final boolean trimControlStructures
    • htmlCommentsPreserved

      private final boolean htmlCommentsPreserved
    • stack

      private final Deque<TemplateParser.Mode> stack
    • indentStack

      private final Deque<TemplateParser.Indent> indentStack
    • htmlStack

      private final Deque<TemplateParser.HtmlTag> htmlStack
    • currentMode

      private TemplateParser.Mode currentMode
    • previousControlStructureTrimmed

      private TemplateParser.Mode previousControlStructureTrimmed
    • initialModes

      private List<TemplateParser.Mode> initialModes
    • currentHtmlTag

      private TemplateParser.HtmlTag currentHtmlTag
    • depth

      private int depth
    • paramsComplete

      private boolean paramsComplete
    • outputPrevented

      private boolean outputPrevented
    • tagClosed

      private boolean tagClosed
    • i

      private int i
    • startIndex

      private int startIndex
    • endIndex

      private int endIndex
    • lastIndex

      private int lastIndex
    • lastLineIndex

      private int lastLineIndex
    • lastTrimmedIndex

      private int lastTrimmedIndex
    • previousChar

      private char previousChar
    • currentChar

      private char currentChar
  • Constructor Details

  • Method Details

    • setStartIndex

      public void setStartIndex(int startIndex)
    • setEndIndex

      public void setEndIndex(int endIndex)
    • setInitialModes

      public void setInitialModes(List<TemplateParser.Mode> initialModes)
    • setParamsComplete

      public void setParamsComplete(boolean paramsComplete)
    • parse

      public void parse()
    • parse

      public void parse(int startingDepth)
    • doParse

      private void doParse(int startingDepth)
    • countBefore

      private int countBefore(char c)
    • nextChar

      private char nextChar()
    • regionMatches

      private boolean regionMatches(String s)
    • lookAheadRegionMatches

      private boolean lookAheadRegionMatches(String s)
    • handleUnclosedKeywords

      private void handleUnclosedKeywords()
    • getCurrentTemplateLine

      private int getCurrentTemplateLine()
    • isCommentAllowed

      private boolean isCommentAllowed()
    • isParamOrImportAllowed

      private boolean isParamOrImportAllowed()
    • areParamsComplete

      private boolean areParamsComplete(int startIndex)
    • isContentExpressionAllowed

      private boolean isContentExpressionAllowed()
    • extractTextPart

      private void extractTextPart(int endIndex, TemplateParser.Mode mode)
    • extractTextPartAndTrimControlStructures

      private void extractTextPartAndTrimControlStructures(int endIndex, TemplateParser.Mode mode)
    • extractTrimmed

      private void extractTrimmed(int startIndex, int endIndex)
    • trimIndentations

      private String trimIndentations(int startIndex, int endIndex, int indentationsToSkip)
    • pushIndent

      private void pushIndent(int endIndex, TemplateParser.Mode mode)
    • popIndent

      private void popIndent()
    • isIndentationCharacter

      private boolean isIndentationCharacter(char c)
    • getIndentationsToSkip

      private int getIndentationsToSkip()
    • extractCodePart

      private void extractCodePart()
    • extractPlainCodePart

      private void extractPlainCodePart()
    • extractHtmlCodePart

      private void extractHtmlCodePart()
    • extractComment

      private void extractComment(TemplateParser.Mode mode, int startIndex)
    • isHtmlCommentAllowed

      private boolean isHtmlCommentAllowed()
    • isCssCommentAllowed

      private boolean isCssCommentAllowed()
    • isJsCommentAllowed

      private boolean isJsCommentAllowed()
    • interceptHtmlTags

      private void interceptHtmlTags()
    • handleStringLiterals

      private void handleStringLiterals(char quote)
    • isOpeningHtmlTag

      private boolean isOpeningHtmlTag()
    • pushHtmlTag

      private void pushHtmlTag(TemplateParser.HtmlTag htmlTag)
    • popHtmlTag

      private void popHtmlTag()
    • parseHtmlTagName

      private String parseHtmlTagName(int index)
    • parseHtmlAttribute

      private TemplateParser.HtmlAttribute parseHtmlAttribute()
    • parseHtmlAttributeQuotes

      private char parseHtmlAttributeQuotes(int index)
    • isHtmlAttributeSingleOutput

      private boolean isHtmlAttributeSingleOutput(int nameEndIndex, char quotes)
    • isHtmlTagIntercepted

      private boolean isHtmlTagIntercepted(String name)
    • push

      private void push(TemplateParser.Mode mode)
    • pop

      private void pop()
    • getPreviousMode

      private <T extends TemplateParser.Mode> T getPreviousMode(Class<T> modeClass)
    • extract

      private void extract(String templateCode, int startIndex, int endIndex, TemplateParser.VisitorCallback callback)
    • completeParamsIfRequired

      private void completeParamsIfRequired()