Comment pourrais-je obtenir Immutables pour générer une classe avec ce genreComment serait-il conseillé de se Immutables pour construire cet objet avec ce genre
public class IdentifiedUserDetails implements UserDetails, CredentialsContainer, Identified<UUID> {
private static final long serialVersionUID = 4905378177558522349L;
private final UUID id;
private final String username;
private final Set<GrantedAuthority> authorities;
private boolean accountNonExpired = true;
private boolean accountNonLocked = true;
private boolean credentialsNonExpired = true;
private boolean enabled = true;
private String password;
IdentifiedUserDetails(final UUID id, final String username, final String password) {
this.id = Objects.requireNonNull(id);
this.username = Objects.requireNonNull(username);
this.password = Objects.requireNonNull(password);
this.authorities = Collections.unmodifiableSet(sortAuthorities(Collections.emptySet()));
}
private static SortedSet<GrantedAuthority> sortAuthorities(
final Collection<? extends GrantedAuthority> authorities) {
// Ensure array iteration order is predictable (as per
// UserDetails.getAuthorities() contract and SEC-717)
return authorities.stream()
.filter(Objects::nonNull)
.collect(Collectors.toCollection(() -> {
return new TreeSet<GrantedAuthority>(
Comparator.nullsFirst(Comparator.comparing(GrantedAuthority::getAuthority)));
}));
}
}
Note: l'ensemble vide est un espace réservé pour un vrai jeu passé à partir d'une source de données externe, je n'ai pas encore commencé à le peupler mais je vais à un moment donné, et le genre est une ré-implémentation de celui de la sécurité de printemps, vous devriez supposer que le tri doit être appliqué à n'importe quel ensemble cela serait transmis au constructeur Immutables.
Votre question n'est pas claire ... – assylias
@assylias comment n'est-il pas clair? Qu'est-ce que tu ne comprends pas? – xenoterracide
Il n'est vraiment pas clair ce que vous voulez accomplir avec votre code; et où vous avez perçu le problème est! – GhostCat