/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.model.auth; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlElement; public class RoleAssignmentEntry { /** * Roles to that are part of this assignment. * Valid values: SYSTEM_ADMIN, SECURITY_ADMIN, SYSTEM_MONITOR, SYSTEM_AUDITOR, TENANT_ADMIN, PROJECT_ADMIN, TENANT_APPROVER * */ private List<String> roles; /** * Subject to whom the role is assigned or being assigned/revoked. * */ private String subjectId; /** * Group to whom the role is assigned or being assigned/revoked * */ private String group; public RoleAssignmentEntry() { } public RoleAssignmentEntry(List<String> roles, String subjectId, String group) { this.roles = roles; this.subjectId = subjectId; this.group = group; } public RoleAssignmentEntry(String sid, String group) { this.subjectId = sid; this.group = group; } @XmlElement(name = "role") public List<String> getRoles() { if (roles == null) { roles = new ArrayList<String>(); } return roles; } public void setRoles(List<String> roles) { this.roles = roles; } @XmlElement(name = "subject_id") public String getSubjectId() { return subjectId; } public void setSubjectId(String sid) { this.subjectId = sid; } @XmlElement(name = "group") public String getGroup() { return group; } public void setGroup(String group) { this.group = group; } @Override public String toString() { StringBuilder builder = new StringBuilder(); if (subjectId != null) { builder.append(subjectId); } else if (group != null) { builder.append(group); } builder.append("="); builder.append(getRoles()); return builder.toString(); } }