/** * Create a <i>toString</i> implementation using the supplied fields * * @param clazz * @param fields */ public static void createToStringFromFields(final JavaClass clazz, final Field<JavaClass>... fields) { createToStringFromFields(clazz, Arrays.asList(fields)); }
version.addAnnotation(Column.class).setStringValue("name", "version"); Refactory.createGetterAndSetter(javaClass, id); Refactory.createGetterAndSetter(javaClass, version); Refactory.createToStringFromFields(javaClass, id); Refactory.createHashCodeAndEquals(javaClass);
private Field<JavaClass> addFieldTo(final JavaClass targetEntity, final Class<?> fieldType, final String fieldName, final Class<? extends java.lang.annotation.Annotation> annotation) throws FileNotFoundException { if (targetEntity.hasField(fieldName)) { throw new IllegalStateException("Entity already has a field named [" + fieldName + "]"); } JavaSourceFacet java = project.getFacet(JavaSourceFacet.class); Field<JavaClass> field = targetEntity.addField(); field.setName(fieldName).setPrivate().setType(fieldType).addAnnotation(annotation); Class<?> fieldTypeForImport = fieldType; if (fieldType.getComponentType() != null) { fieldTypeForImport = fieldType.getComponentType(); } if (!fieldTypeForImport.getCanonicalName().startsWith("java.lang.") && !fieldTypeForImport.isPrimitive() && !fieldTypeForImport.getCanonicalName().equals(targetEntity.getCanonicalName())) { targetEntity.addImport(fieldTypeForImport); } Refactory.createGetterAndSetter(targetEntity, field); updateToString(targetEntity); java.saveJavaSource(targetEntity); shell.println("Added field to " + targetEntity.getQualifiedName() + ": " + field); return field; }
warnIncorrectFields(entity, selectedFields); overwriteMethods(entity); Refactory.createHashCodeAndEquals(entity, selectedFields.toArray(new Field<?>[selectedFields.size()])); java.saveJavaSource(entity); shell.println("Added equals() and hashCode() in [" + entity.getQualifiedName() + "].");
private Field<JavaClass> addTemporalFieldTo(final JavaClass targetEntity, final Class<?> fieldType, final String fieldName, final TemporalType temporalType) throws FileNotFoundException { if (targetEntity.hasField(fieldName)) { throw new IllegalStateException("Entity already has a field named [" + fieldName + "]"); } JavaSourceFacet java = project.getFacet(JavaSourceFacet.class); Field<JavaClass> field = targetEntity.addField(); field.setName(fieldName).setPrivate().setType(fieldType).addAnnotation(Temporal.class).setEnumValue(temporalType); if (!fieldType.getName().startsWith("java.lang.") && !fieldType.isPrimitive() && !fieldType.getCanonicalName().equals(targetEntity.getCanonicalName())) { targetEntity.addImport(fieldType); } Refactory.createGetterAndSetter(targetEntity, field); updateToString(targetEntity); java.saveJavaSource(targetEntity); shell.println("Added field to " + targetEntity.getQualifiedName() + ": " + field); return field; }
/** * Create a <i>toString</i> implementation using all the fields in this class * * @param clazz */ public static void createToStringFromFields(final JavaClass clazz) { List<Field<JavaClass>> fields = clazz.getFields(); createToStringFromFields(clazz, fields); }
Refactory.createGetterAndSetter(dto, dtoField);
public void updateToString(final JavaClass targetEntity) { if (targetEntity.hasMethodSignature("toString")) { targetEntity.removeMethod(targetEntity.getMethod("toString")); } List<Field<JavaClass>> fields = new ArrayList<Field<JavaClass>>(); for (Field<JavaClass> f : targetEntity.getFields()) { if (!"id".equals(f.getName()) && !"version".equals(f.getName()) && (f.getTypeInspector().isPrimitive() || Types.isJavaLang(f.getType()))) { fields.add(f); } } if (!fields.isEmpty()) { Refactory.createToStringFromFields(targetEntity, fields); } }
private Field<JavaClass> addFieldTo(final JavaClass targetEntity, final String fieldType, final String fieldName, final Class<Column> annotation) throws FileNotFoundException { if (targetEntity.hasField(fieldName)) { throw new IllegalStateException("Entity already has a field named [" + fieldName + "]"); } JavaSourceFacet java = project.getFacet(JavaSourceFacet.class); Field<JavaClass> field = targetEntity.addField(); field.setName(fieldName).setPrivate().setType(Types.toSimpleName(fieldType)).addAnnotation(annotation); if (!targetEntity.getCanonicalName().equals(fieldType)) { targetEntity.addImport(fieldType); } Refactory.createGetterAndSetter(targetEntity, field); updateToString(targetEntity); java.saveJavaSource(targetEntity); shell.println("Added field to " + targetEntity.getQualifiedName() + ": " + field); return field; }
/** * Copied from FieldPlugin */ private static void updateToString(final JavaClass targetEntity) { if (targetEntity.hasMethodSignature("toString")) { targetEntity.removeMethod(targetEntity.getMethod("toString")); } List<Field<JavaClass>> fields = new ArrayList<Field<JavaClass>>(); for (Field<JavaClass> f : targetEntity.getFields()) { if (!"version".equals(f.getName()) && (f.getTypeInspector().isPrimitive() || Types.isJavaLang(f.getType()))) { fields.add(f); } } if (!fields.isEmpty()) { Refactory.createToStringFromFields(targetEntity, fields); } }
private Field<JavaClass> addFieldTo(final JavaClass targetEntity, final JavaClass fieldEntity, final String fieldName, final Class<? extends java.lang.annotation.Annotation> annotation) throws FileNotFoundException { if (targetEntity.hasField(fieldName)) { throw new IllegalStateException("Entity [" + targetEntity.getCanonicalName() + "] already has a field named [" + fieldName + "]"); } JavaSourceFacet java = project.getFacet(JavaSourceFacet.class); Field<JavaClass> field = targetEntity.addField(); field.setName(fieldName).setPrivate().setType(fieldEntity.getName()).addAnnotation(annotation); if (!targetEntity.getCanonicalName().equals(fieldEntity.getCanonicalName())) { targetEntity.addImport(fieldEntity.getQualifiedName()); } Refactory.createGetterAndSetter(targetEntity, field); updateToString(targetEntity); java.saveJavaSource(targetEntity); shell.println("Added field to " + targetEntity.getQualifiedName() + ": " + field); return field; }
private void addProperty(JPAProperty field, Type<?> dtoFieldType) { String simpleName = dtoFieldType.getName(); String qualifiedName = dtoFieldType.getQualifiedName(); Field<JavaClass> dtoField = dto.addField("private " + simpleName + " " + field.getName() + ";"); if (!(field.isPrimitive() || Types.isJavaLang(qualifiedName) || Types.isArray(qualifiedName))) { dto.addImport(qualifiedName); } if (Types.isArray(qualifiedName)) { String arrayType = field.getType().getQualifiedName(); if (!(Types.isJavaLang(arrayType) || Types.isPrimitive(arrayType))) { dto.addImport(arrayType); } } Refactory.createGetterAndSetter(dto, dtoField); }
private void addProperty(JPAProperty property, JavaClass dtoFieldType) { String simpleName = dtoFieldType.getName(); String qualifiedName = dtoFieldType.getQualifiedName(); Field<JavaClass> dtoField = dto.addField("private " + simpleName + " " + property.getName() + ";"); if (!(property.isPrimitive() || Types.isJavaLang(qualifiedName) || Types.isArray(qualifiedName))) { dto.addImport(qualifiedName); } if (Types.isArray(qualifiedName)) { String arrayType = property.getType().getQualifiedName(); if (!(Types.isJavaLang(arrayType) || Types.isPrimitive(arrayType))) { dto.addImport(arrayType); } } Refactory.createGetterAndSetter(dto, dtoField); }
+ many.getName() + ">();"); Annotation<JavaClass> annotation = oneField.addAnnotation(OneToMany.class); Refactory.createGetterAndSetter(one, oneField); Refactory.createGetterAndSetter(many, manyField); java.saveJavaSource(many);
+ otherEntity.getName() + ">();"); Annotation<JavaClass> annotation = field.addAnnotation(ManyToMany.class); Refactory.createGetterAndSetter(entity, field); + "= new HashSet<" + entity.getName() + ">();"); otherField.addAnnotation(ManyToMany.class); Refactory.createGetterAndSetter(otherEntity, otherField);
Refactory.createGetterAndSetter(many, manyField); oneAnnotation.getOrigin().addImport(CascadeType.class); Refactory.createGetterAndSetter(one, oneField); java.saveJavaSource(one);