package japicmp.maven.util;
import javassist.CannotCompileException;
import javassist.CtClass;
import javassist.CtConstructor;
import javassist.CtNewConstructor;
public class CtConstructorBuilder extends CtBehaviorBuilder {
protected String body = "System.out.println(\"a\");";
public static CtConstructorBuilder create() {
return new CtConstructorBuilder();
}
public CtConstructorBuilder modifier(int modifier) {
this.modifier = modifier;
return this;
}
public CtConstructorBuilder parameters(CtClass[] parameters) {
return (CtConstructorBuilder) super.parameters(parameters);
}
public CtConstructorBuilder parameter(CtClass parameter) {
return (CtConstructorBuilder) super.parameter(parameter);
}
public CtConstructorBuilder exceptions(CtClass[] exceptions) {
return (CtConstructorBuilder) super.exceptions(exceptions);
}
public CtConstructorBuilder body(String body) {
this.body = body;
return this;
}
public CtConstructorBuilder publicAccess() {
return (CtConstructorBuilder) super.publicAccess();
}
public CtConstructorBuilder protectedAccess() {
return (CtConstructorBuilder) super.protectedAccess();
}
public CtConstructorBuilder privateAccess() {
return (CtConstructorBuilder) super.privateAccess();
}
public CtConstructor addToClass(CtClass declaringClass) throws CannotCompileException {
CtConstructor ctConstructor = CtNewConstructor.make(this.parameters, this.exceptions, this.body, declaringClass);
ctConstructor.setModifiers(this.modifier);
declaringClass.addConstructor(ctConstructor);
return ctConstructor;
}
}