package com.onap.configdb.db.domain;

import java.io.Serializable;
import java.util.Map;

import javax.persistence.CollectionTable;
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.MapKeyColumn;
import javax.persistence.Table;
//@Entity
@Table(name="NSSAI")
@Embeddable
public class NSSAI implements Serializable{
	private static final long serialVersionUID = 1L;
	//@Id
	@Column(name="SNSSAI")
	private String sNSSAI;
	@Column (name="STATUS")
	private String status;
	@Column(name="GLOBALSUBSCRIBERID")
	private String globalSubscriberId;
	@Column(name="SUBSCRIPTIONSERVICETYPE")
	private String subscriptionServiceType;
	/*@ElementCollection
	//@Cascade(CascadeType.ALL)
	@CollectionTable(name = "nssai_config")
	@MapKeyColumn(name = "config_param")
	*/
	@Embedded
	@Column(name="CONFIGDATA")
	private NSSAIConfig configData;

	public String getsNSSAI() {
		return sNSSAI;
	}
	public void setsNSSAI(String sNSSAI) {
		this.sNSSAI = sNSSAI;
	}
	public String getStatus() {
		return status;
	}
	public void setStatus(String status) {
		this.status = status;
	}
	public String getGlobalSubscriberId() {
		return globalSubscriberId;
	}
	public void setGlobalSubscriberId(String globalSubscriberId) {
		this.globalSubscriberId = globalSubscriberId;
	}
	public String getSubscriptionServiceType() {
		return subscriptionServiceType;
	}
	public void setSubscriptionServiceType(String subscriptionServiceType) {
		this.subscriptionServiceType = subscriptionServiceType;
	}
	
	public NSSAIConfig getConfigData() {
		return configData;
	}
	public void setConfigData(NSSAIConfig configData) {
		this.configData = configData;
	}
	@Override
	public String toString() {
		return "NSSAI [sNSSAI=" + sNSSAI + ", status=" + status + ", globalSubscriberId=" + globalSubscriberId
				+ ", subscriptionServiceType=" + subscriptionServiceType + ", configData=" + configData + "]";
	}
}
