1 16 package com.google.gwt.dev.cfg; 17 18 import com.google.gwt.core.ext.Generator; 19 import com.google.gwt.core.ext.GeneratorContext; 20 import com.google.gwt.core.ext.TreeLogger; 21 import com.google.gwt.core.ext.UnableToCompleteException; 22 23 28 public class RuleGenerateWith extends Rule { 29 30 private final Generator generator; 31 32 public RuleGenerateWith(Generator generator) { 33 this.generator = generator; 34 } 35 36 public String realize(TreeLogger logger, GeneratorContext context, 37 String typeName) throws UnableToCompleteException { 38 39 String msg = "Invoking " + toString(); 40 logger = logger.branch(TreeLogger.DEBUG, msg, null); 41 42 long before = System.currentTimeMillis(); 43 String className = generator.generate(logger, context, typeName); 44 long after = System.currentTimeMillis(); 45 if (className == null) { 46 msg = "Generator returned null, so the requested type will be used as is"; 47 } else { 48 msg = "Generator returned class '" + className + "'"; 49 } 50 logger.log(TreeLogger.DEBUG, msg, null); 51 52 msg = "Finished in " + (after - before) + " ms"; 53 logger.log(TreeLogger.DEBUG, msg, null); 54 55 return className; 56 } 57 58 public String toString() { 59 return "<generate-with class='" + generator.getClass().getName() + "'/>"; 60 } 61 } 62 | Popular Tags |