On 21 Nov 2016, at 17:25, Christian Kaltepoth <christian@kaltepoth.de> wrote:Not sure I like the idea of supporting Optional<T> for return types but not for fields and method parameters. Is there any technical reason for this restriction? I agree that using Optional<T> for fields is an anti-pattern, but I don't see any reason for not supporting it nevertheless.Am I missing something here?_______________________________________________2016-11-21 15:18 GMT+01:00 Gunnar Morling <gunnar@hibernate.org>:Yes, probably we should not support Optional for fields. Also parameters are dubious (the JDK team discourages that afaik). But supporting it for return values (and getter-based properties) seems reasonable.2016-11-21 14:32 GMT+01:00 Emmanuel Bernard <emmanuel@hibernate.org>:______________________________On 7 Nov 2016, at 23:42, Hendrik Ebbers <hendrik.ebbers@me.com> wrote:
I don’t think that support for Optional is that important since having a field of type Optional looks like an anti-pattern to me. Normally Optional should be used as a method return type and not as a type for a field. Supporting it in the bean validation might end in strange model classes.
Example:
The following model looks good to me:
public class Model {
@NotNull
private String name;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Optional<String> name() { return Optional.ofNullable(name);}
}
On the other hand this looks like an anti-pattern to me:
public class Model {
@NotNull
private Optional<String> name;
public Optional<String> getName() { return name; }
public void setName(String name) { this.name = Optional.ofNullable(name); }
}Yes Optional on a property is deemed an anti pattern by the JDK team but since Bean Validation supports contraints on method parameters and return values, this is still a valid use caseOptional<@Email String> getUserEmail(@NotNull UUID userId);Emmanuel_________________
beanvalidation-dev mailing list
beanvalidation-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/beanvalidation-dev
_______________________________________________
beanvalidation-dev mailing list
beanvalidation-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/ beanvalidation-dev --
beanvalidation-dev mailing list
beanvalidation-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/beanvalidation-dev