/*
* Copyright (c) 2008-2011 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.model.tenant;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import com.emc.storageos.model.DataObjectRestRep;
import com.emc.storageos.model.RelatedResourceRep;
@XmlRootElement(name = "tenant")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class TenantOrgRestRep extends DataObjectRestRep {
private RelatedResourceRep parentTenant;
private String description;
private List<UserMappingParam> userMappings;
private String namespace;
private URI namespaceStorage;
public TenantOrgRestRep() {
}
public TenantOrgRestRep(RelatedResourceRep parentTenant,
String description, List<UserMappingParam> userMappings) {
this.parentTenant = parentTenant;
this.description = description;
this.userMappings = userMappings;
}
/**
*
* Optional Detailed Description of the Tenant
*
*/
@XmlElement
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/**
*
* Id and hyperlink of the parent tenant
*
*/
@XmlElement(name = "parent_tenant")
public RelatedResourceRep getParentTenant() {
return parentTenant;
}
public void setParentTenant(RelatedResourceRep parentTenant) {
this.parentTenant = parentTenant;
}
/**
*
* User mappings define how a user is mapped to a tenant. The user can be
* mapped to a tenant using parameters such as domains, LDAP attributes,
* and AD group membership.
*
*/
@XmlElementWrapper(name = "user_mappings")
/**
* One individual mapping
* @return
*/
@XmlElement(name = "user_mapping")
public List<UserMappingParam> getUserMappings() {
if (userMappings == null) {
userMappings = new ArrayList<UserMappingParam>();
}
return userMappings;
}
public void setUserMappings(List<UserMappingParam> userMappings) {
this.userMappings = userMappings;
}
/**
*
* Namespace mapped to the Tenant
*
*/
@XmlElement(name = "namespace")
public String getNamespace() {
return namespace;
}
public void setNamespace(String namespace) {
this.namespace = namespace;
}
/**
*
* Namespace associated with storage mapped to the Tenant
*
*/
@XmlElement(name = "namespace_storage_system")
public URI getNamespaceStorage() {
return namespaceStorage;
}
public void setNamespaceStorage(URI namespaceStorage) {
this.namespaceStorage = namespaceStorage;
}
}