@Override public void handle(JavaType sourceType, JavaField javaField) { if (!(javaField.getName().charAt(0) == '_' && javaField.getType().equals(boolean.class))) { return; } String fieldName = javaField.getName(); String methodPrefix = "has"; String methodName = StringUtil.format(CaseFormat.LOWER_CAMEL, methodPrefix, fieldName, CaseFormat.LOWER_CAMEL); if (!ownerTypeBuilder.containsMethod(methodName)) { JavaMethodBuilder methodBuilder = new JavaMethodBuilder(); methodBuilder.setName(methodName); methodBuilder.setResultType(boolean.class); methodBuilder.addModifier("public"); methodBuilder.addBody(String.format("return this.%s;", fieldName)); ownerTypeBuilder.addMethod(methodBuilder.build()); } }
public static boolean isMethodCompatible(JavaType sourceType, JavaTypeBuilder targetBuilder) { return isMethodCompatible(sourceType.getMethods(), targetBuilder.getMethods()); }