package eu.eudat.builders.model.models; import eu.eudat.builders.Builder; import eu.eudat.models.security.Principal; import eu.eudat.types.Authorities; import java.util.Date; import java.util.Set; import java.util.UUID; /** * Created by ikalyvas on 2/15/2018. */ public class PrincipalBuilder extends Builder { private UUID id; private UUID token; private String name; private Date expiresAt; private Set authorities; public PrincipalBuilder id(UUID id) { this.id = id; return this; } public PrincipalBuilder token(UUID token) { this.token = token; return this; } public PrincipalBuilder name(String name) { this.name = name; return this; } public PrincipalBuilder expiresAt(Date expiresAt) { this.expiresAt = expiresAt; return this; } public PrincipalBuilder authorities(Set authorities) { this.authorities = authorities; return this; } @Override public Principal build() { Principal principal = new Principal(); principal.setAuthorities(authorities); principal.setName(name); principal.setExpiresAt(expiresAt); principal.setToken(token); principal.setId(id); return principal; } }