openpojo icon indicating copy to clipboard operation
openpojo copied to clipboard

OpenPojo should support JDK record objects.

Open scottresnik opened this issue 2 years ago • 0 comments

With the following validator:

		Validator validator = ValidatorBuilder.create().with(new GetterMustExistRule()).with(new SetterMustExistRule())
				.with(new SetterTester()).with(new GetterTester()).build();
		validator.validate(PojoClassFactory.getPojoClasses(getClass().getPackageName()));

This class passes:

public class SimpleClass {
	private final String message;
	private final List<String> values;

	public SimpleClass(String message, List<String> values) {
		this.message = message;
		this.values = values;
	}

	public String getMessage() {
		return message;
	}

	public List<String> getValues() {
		return values;
	}
}

This similar record fails:

public record SimpleRecord(String message, List<String> values){}

A simple workaround is the following filter: pojoClass -> !pojoClass.getClazz().isRecord() .

It would be nice to have an isRecord() method on the PojoClass interface as well.

scottresnik avatar Jan 10 '24 20:01 scottresnik