1 package com.teamkonzept.lib.templates; 2 3 import java.io.*; 4 5 import com.teamkonzept.lib.*; 6 7 12 public class TKIncludeTag extends TKTag { 13 public String filename; 14 public TKTemplateSyntax filenameSyntax; 15 public static final int TAG_TYPE = TKListTag.TAG_TYPE+1; 16 17 25 public TKIncludeTag( TKTemplateSyntax parent, String def, boolean hasSubTags ) throws TKTemplateSyntaxException 26 { 27 super( parent ); 28 filenameSyntax = ( hasSubTags ? parent.newChild( def, parent.getSource(), hasSubTags ) : null ); 29 filename = ( hasSubTags ? null : def ); 30 } 31 32 39 public String apply( TKTemplateData td ) throws TKTemplateSyntaxException 40 { 41 String theFile = (filenameSyntax != null ? filenameSyntax.apply( td ) : filename ); 42 TKTemplateSyntax syntax = TKTemplateCache.getSyntax( theFile, parent ); 43 return syntax.apply( td ); 44 } 45 46 public void apply(TKTemplateData td, Writer writer) 47 throws TKTemplateSyntaxException, IOException 48 { 49 String theFile = (filenameSyntax != null ? filenameSyntax.apply( td ) : filename ); 50 TKTemplateSyntax syntax = TKTemplateCache.getSyntax( theFile, parent ); 51 syntax.apply( td, writer ); 52 } 53 54 55 } 56 57 | Popular Tags |