/** * Create a <i>hashCode</i> and <i>equals</i> implementation for the given class and fields. Callers must verify that * the types of the fields override the default identity based equals and hashcode implementations. No warnings are * issued in an event where the field type uses the implementation of java.lang.Object. * * This method ignores static fields for generating the equals and hashCode methods, since they are ideally not meant * to be used in these cases. Although transient fields could also be ignored, they are not since there is no * mechanism to convey warnings (not errors) in this case. * * @param clazz class to be changed * @param fields fields to be used in the equals/hashCode methods */ public static void createHashCodeAndEquals(final JavaClassSource clazz, final FieldSource<?>... fields) { createEquals(clazz, fields); createHashCode(clazz, fields); }
/** * Create a <i>toString</i> implementation using the supplied fields * * @param clazz * @param fields */ public static void createToStringFromFields(final JavaClassSource clazz, final FieldSource<JavaClassSource>... fields) { createToStringFromFields(clazz, Arrays.asList(fields)); }
/** * Create a <i>hashCode</i> and <i>equals</i> implementation for the given class and fields. Callers must verify that * the types of the fields override the default identity based equals and hashcode implementations. No warnings are * issued in an event where the field type uses the implementation of java.lang.Object. * * This method ignores static fields for generating the equals and hashCode methods, since they are ideally not meant * to be used in these cases. Although transient fields could also be ignored, they are not since there is no * mechanism to convey warnings (not errors) in this case. * * @param clazz class to be changed * @param fields fields to be used in the equals/hashCode methods */ public static void createHashCodeAndEquals(final JavaClassSource clazz, final FieldSource<?>... fields) { createEquals(clazz, fields); createHashCode(clazz, fields); }
/** * Create a <i>toString</i> implementation using the supplied fields * * @param clazz * @param fields */ public static void createToStringFromFields(final JavaClassSource clazz, final FieldSource<JavaClassSource>... fields) { createToStringFromFields(clazz, Arrays.asList(fields)); }
Refactory.createEquals(targetClass, selectedFields.toArray(new FieldSource<?>[selectedFields.size()])); Refactory.createEquals(targetClass, selectedFields.toArray(new FieldSource<?>[selectedFields.size()])); Refactory.createHashCode(targetClass, selectedFields.toArray(new FieldSource<?>[selectedFields.size()])); Refactory.createHashCode(targetClass, selectedFields.toArray(new FieldSource<?>[selectedFields.size()]));
/** * Create a <i>toString</i> implementation using the supplied fields * * @param clazz * @param fields */ public static void createToStringFromFields(final JavaClassSource clazz, final FieldSource<JavaClassSource>... fields) { createToStringFromFields(clazz, Arrays.asList(fields)); }
Refactory.createHashCode(javaSource, javaSource.getField("id")); Refactory.createHashCode(javaSource, javaSource.getFields().toArray(new FieldSource[javaSource.getFields().size()])); Refactory.createEquals(javaSource, javaSource.getField("id")); Refactory.createEquals(javaSource, javaSource.getFields().toArray(new FieldSource[javaSource.getFields().size()]));
/** * Create a <i>toString</i> implementation using all the fields in this class * * @param clazz */ public static void createToStringFromFields(final JavaClassSource clazz) { List<FieldSource<JavaClassSource>> fields = clazz.getFields(); createToStringFromFields(clazz, fields); }
/** * Create a <i>toString</i> implementation using all the fields in this class * * @param clazz */ public static void createToStringFromFields(final JavaClassSource clazz) { List<FieldSource<JavaClassSource>> fields = clazz.getFields(); createToStringFromFields(clazz, fields); }
/** * Create a <i>toString</i> implementation using all the fields in this class * * @param clazz */ public static void createToStringFromFields(final JavaClassSource clazz) { List<FieldSource<JavaClassSource>> fields = clazz.getFields(); createToStringFromFields(clazz, fields); }
private void updateToString(final JavaClassSource targetEntity) { if (targetEntity.hasMethodSignature("toString")) { targetEntity.removeMethod(targetEntity.getMethod("toString")); } List<FieldSource<JavaClassSource>> fields = new ArrayList<>(); for (FieldSource<JavaClassSource> f : targetEntity.getFields()) { if (canAddFieldToToString(f)) { fields.add(f); } } if (!fields.isEmpty()) { Refactory.createToStringFromFields(targetEntity, fields); } }