/** * Create a <i>hashCode</i> and <i>equals</i> implementation for the given class and fields * * @deprecated Use {@link Refactory#createHashCodeAndEquals(JavaClass, Field...)} instead, since this method relies * on the existence of the id field */ @Deprecated public static void createHashCodeAndEquals(final JavaClass clazz) { clazz.addMethod( "public boolean equals(Object that) { " + "if (this == that) { return true; } " + "if (that == null) { return false; } " + "if (getClass() != that.getClass()) { return false; } " + "if (id != null) { return id.equals(((" + clazz.getName() + ") that).id); } " + "return super.equals(that); " + "}") .addAnnotation(Override.class); clazz.addMethod( "public int hashCode() { " + "if (id != null) { return id.hashCode(); } " + "return super.hashCode(); }") .addAnnotation(Override.class); }
private void createDefaultConstructor() { Method<JavaClass> ctor = dto.addMethod(); ctor.setConstructor(true); ctor.setPublic(); ctor.setBody(""); }
Method<JavaClass> method = clazz.addMethod().setName("toString").setReturnType(String.class) .setPublic(); method.addAnnotation(Override.class);
private void createJPAAssembler() { assembleJPA = dto.addMethod() .setName("fromDTO") .setReturnType(entity.getName()) .setPublic() .setParameters(entity.getName() + " entity, EntityManager em"); assembleJPABuilder.append("if(entity == null) { entity = new " + entity.getName() + "(); }"); }
private void createCopyConstructor() { dto.addImport(entity.getQualifiedName()); dto.addImport(EntityManager.class); copyCtor = dto.addMethod() .setConstructor(true) .setPublic() .setParameters("final " + entity.getName() + " entity"); }
/** * Generates a getXXX and setXXX method for the supplied field * * @param clazz * @param field */ public static void createGetterAndSetter(final JavaClass clazz, final Field<JavaClass> field) { if (!clazz.hasField(field)) { throw new IllegalArgumentException("Entity did not contain the given field [" + field + "]"); } clazz.getMethods(); String fieldName = field.getName(); String methodNameSuffix = Strings.capitalize(fieldName); clazz.addMethod().setReturnType(field.getTypeInspector().toString()).setName("get" + methodNameSuffix) .setPublic() .setBody("return this." + fieldName + ";"); if (!field.isFinal()) { clazz.addMethod().setReturnTypeVoid().setName("set" + methodNameSuffix).setPublic() .setParameters("final " + field.getTypeInspector().toString() + " " + fieldName) .setBody("this." + fieldName + " = " + fieldName + ";"); } }
Method<JavaClass> method = JavaParser.parse(JavaClass.class, "public class Temp{}").addMethod(methodDef); if (clazz.hasMethodSignature(method))
if (!entity.hasMethodSignature(methodName)) entity.addMethod().setName(methodName).setReturnTypeVoid().setPublic() .setBody("this." + field.getName() + " = new " + field.getType() + "();"); dirtyBit = true; if (!entity.hasMethodSignature(methodName)) entity.addMethod().setName(methodName).setReturnTypeVoid().setPublic() .setBody("this." + fieldName + " = new " + method.getReturnType() + "();"); dirtyBit = true;
ejb.addImport(Message.class); ejb.addInterface(MessageListener.class); ejb.addMethod("public void onMessage(Message message) {}"); ejb.addAnnotation(EJBType.MESSAGEDRIVEN.getAnnotation()) .setLiteralValue("name", "\"" + name + "\"")
.setPackage(javaPackage) .setName("Main") .addMethod("public static void main(String[] args) {}") .setBody("System.out.println(\"Hi there! I was forged as part of the project you call " + name + ".\");")