Class Template


  • public class Template
    extends java.lang.Object
    A single class templating library for doing runtime code-gen. Not Threadsafe.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int index  
      private int previousIndex  
      private java.lang.String template  
    • Constructor Summary

      Constructors 
      Constructor Description
      Template​(java.lang.String template)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void copyPrefixTo​(java.lang.StringBuilder result)  
      private void copySuffixTo​(java.lang.StringBuilder result)  
      private Template extractLoopBody​(java.lang.String tagName)  
      static Template fromFile​(java.lang.Class<?> resourceRoot, java.lang.String fileName)  
      private static Template fromStream​(java.io.InputStream templateStream)  
      private boolean isLoopTag()  
      private java.lang.Object readBuiltinTag​(java.lang.String tagName, java.lang.Object obj, boolean last)  
      private java.lang.Object readField​(java.lang.String tagName, java.lang.Object obj)  
      private java.lang.String readTagName()  
      private java.lang.Object readTagValue​(java.lang.String tagName, java.lang.Object obj, boolean last)  
      java.lang.String render​(java.lang.Object o)  
      private void render​(java.lang.Object obj, java.lang.StringBuilder result)  
      private void render​(java.lang.Object obj, java.lang.StringBuilder result, boolean last)  
      private boolean scanNextTag()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • template

        private final java.lang.String template
      • index

        private int index
      • previousIndex

        private int previousIndex
    • Constructor Detail

      • Template

        public Template​(java.lang.String template)
    • Method Detail

      • fromFile

        public static Template fromFile​(java.lang.Class<?> resourceRoot,
                                        java.lang.String fileName)
      • fromStream

        private static Template fromStream​(java.io.InputStream templateStream)
      • render

        public java.lang.String render​(java.lang.Object o)
      • render

        private void render​(java.lang.Object obj,
                            java.lang.StringBuilder result)
      • render

        private void render​(java.lang.Object obj,
                            java.lang.StringBuilder result,
                            boolean last)
      • extractLoopBody

        private Template extractLoopBody​(java.lang.String tagName)
      • isLoopTag

        private boolean isLoopTag()
      • scanNextTag

        private boolean scanNextTag()
      • copyPrefixTo

        private void copyPrefixTo​(java.lang.StringBuilder result)
      • readTagValue

        private java.lang.Object readTagValue​(java.lang.String tagName,
                                              java.lang.Object obj,
                                              boolean last)
      • readBuiltinTag

        private java.lang.Object readBuiltinTag​(java.lang.String tagName,
                                                java.lang.Object obj,
                                                boolean last)
      • readField

        private java.lang.Object readField​(java.lang.String tagName,
                                           java.lang.Object obj)
      • readTagName

        private java.lang.String readTagName()
      • copySuffixTo

        private void copySuffixTo​(java.lang.StringBuilder result)