package ik.am.jpetstore.domain.model;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
public class UserDetails
implements
org.springframework.security.core.userdetails.UserDetails {
private static final long serialVersionUID = 1L;
private final Account account;
private final List<Product> myList;
public UserDetails(Account account, List<Product> myList) {
this.account = account;
this.myList = new CopyOnWriteArrayList<Product>(myList);
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return Collections
.singletonList(new SimpleGrantedAuthority("ROLE_USER"));
}
@Override
public String getPassword() {
return account.getPassword();
}
@Override
public String getUsername() {
return account.getUsername();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
public Account getAccount() {
return account;
}
public List<Product> getMyList() {
return myList;
}
}