package com.github.signed.pmd.abstractions;
import com.github.signed.pmd.CodeModelToPmdAst;
import com.sun.codemodel.JClassAlreadyExistsException;
import com.sun.codemodel.JCodeModel;
import com.sun.codemodel.JDefinedClass;
import com.sun.codemodel.JMethod;
import net.sourceforge.pmd.PMDException;
import net.sourceforge.pmd.lang.java.ast.JavaNode;
import java.io.IOException;
public class ClassBuilder {
private final CodeModelToPmdAst converter = new CodeModelToPmdAst();
private final JCodeModel model;
private JDefinedClass jDefinedClass;
public ClassBuilder(JCodeModel model) {
this.model = model;
}
public ClassBuilder anyClass() throws JClassAlreadyExistsException {
jDefinedClass = model._class("some.Classz");
return this;
}
public JMethod anyMethod() {
return jDefinedClass.method(0, model.VOID, "anyName");
}
public JavaNode toPmdAst() throws IOException, PMDException {
return converter.convertClassToJavaNode("Classz", model);
}
}