Mercurial > hg > tema
view src/kryshen/tema/functions/Define.java @ 0:1d2fe61a3a62 release_0_1
Tema 0.1 (imported from CVS).
author | Mikhail Kryshen <mikhail@kryshen.net> |
---|---|
date | Tue, 16 May 2006 18:04:09 +0400 |
parents | |
children | 548a93c24e55 |
line wrap: on
line source
/* * Copyright (C) 2006 Mikhail A. Kryshen * * $Id: Define.java,v 1.1.1.1 2006/05/16 14:04:09 mikhail Exp $ */ package kryshen.tema.functions; import java.io.*; import java.util.*; import kryshen.tema.*; public class Define extends Function { public Define() { super("define"); } public int invoke(FunctionDataParser fdp, Writer out) throws IOException, TemplateException { final String arg0 = fdp.getNextArg(); final String data = fdp.getData(); Function newFunction = new Function(arg0) { public int invoke(final FunctionDataParser fdp, final Writer out) throws IOException, TemplateException { TemplateParser functionParser = new TemplateParser(fdp.getTemplateParser()); functionParser.registerFunction(new Function("nextarg") { public int invoke(FunctionDataParser unusedFdp, final Writer out) throws IOException, TemplateException { return fdp.parseNextArg(out); } }); functionParser.registerFunction(new Function("data") { public int invoke(FunctionDataParser unusedFdp, final Writer out) throws IOException, TemplateException { return fdp.parseData(out); } }); return functionParser.parse(new StringReader(data), out); } }; fdp.getTemplateParser().registerFunction(newFunction); out.write(arg0); return 1; } }