in src/main/java/com/amazon/rdsdata/client/SetterPropertyWriter.java [35:55]
static Optional<PropertyWriter> setterPropertyWriterFor(Object instance, String fieldName) {
val instanceType = instance.getClass();
val setterName = buildSetterName(fieldName);
val possibleSetterMethods = Stream.of(instanceType.getMethods())
.filter(method -> method.getName().equals(setterName))
.filter(SetterPropertyWriter::isNotStatic)
.filter(SetterPropertyWriter::hasOneParameter)
.filter(SetterPropertyWriter::isPublic)
.collect(toList());
if (possibleSetterMethods.size() > 1) {
throw MappingException.ambiguousSetter(fieldName, possibleSetterMethods);
}
if (possibleSetterMethods.size() == 0) {
return Optional.empty();
}
return Optional.of(new SetterPropertyWriter(instance, possibleSetterMethods.get(0), fieldName));
}