Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.cogitat.scripting;
- import java.lang.reflect.Method;
- import java.lang.reflect.Parameter;
- public class GroovyGenerator {
- Class analyzedClass;
- private String packg;
- private String name;
- public GroovyGenerator(String pckg, String name, Class analyzedClass) {
- super();
- this.analyzedClass = analyzedClass;
- this.packg = pckg;
- this.name = name;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPackg() {
- return packg;
- }
- public String performGeneration()
- {
- StringBuilder sb = new StringBuilder();
- sb.append("package ").append(packg).append("nn /* Code auto generatedn * do edit what You want n */nn");
- String parentName = analyzedClass.getSimpleName();
- sb.append("class ").append(name).append(" extends ").append(parentName).append(" {n");
- for(Method m : analyzedClass.getDeclaredMethods())
- {
- sb.append("def ").append(m.getName()).append("(");
- int pcnt = 0;
- for(Parameter p:m.getParameters())
- {
- if(pcnt>0)
- sb.append(", ");
- sb.append(p.getType().getSimpleName()).append(" ").append(p.getName());
- pcnt++;
- }
- sb.append(")n{n}n");
- }
- sb.append("n}n");
- return sb.toString();
- }
- }
- package my.script
- /* Code auto generated
- * do edit what You want
- */
- class SelfGenerator extends GroovyGenerator {
- def getName()
- {
- }
- def setName(String arg0)
- {
- }
- def performGeneration()
- {
- }
- def getPackg()
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement