/* * dCache - http://www.dcache.org/ * * Copyright (C) 2016 Deutsches Elektronen-Synchrotron * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.dcache.restful.providers; import java.util.List; import java.util.Objects; /** * Class to hold information for a JSON response querying information * about a user. */ public class UserAttributes { public enum AuthenticationStatus {ANONYMOUS, AUTHENTICATED}; /** * Whether the current user has authenticated with the system. * ANONYMOUS indicates that the user supplied no credentials or that * the credentials failed to authenticate the user (e.g., wrong password). * */ private AuthenticationStatus status; /** * The UID of the user, if the user has status AUTHENTICATED, null * otherwise. */ private Long uid; private List<Long> gids; public AuthenticationStatus getStatus() { return status; } public void setStatus(AuthenticationStatus status) { this.status = Objects.requireNonNull(status); } public Long getUid() { return uid; } public void setUid(Long uid) { this.uid = uid; } public List<Long> getGids() { return gids; } public void setGids(List<Long> gids) { this.gids = gids; } }