/* * Copyright (c) 2017 DELL EMC Corporation * All Rights Reserved */ package com.emc.sa.descriptor; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; public class ServiceFieldModal extends ServiceItem implements ServiceItemContainer { private static final long serialVersionUID = 2L; /** The items in the modal. */ private Map<String, ServiceItem> items = new LinkedHashMap<>(); public ServiceFieldModal() { setType(TYPE_MODAL); } @Override public void setType(String type) { if (!StringUtils.equals(type, TYPE_MODAL)) { throw new IllegalArgumentException("Invalid type for modal: " + type); } super.setType(type); } public void addItem(ServiceItem item) { items.put(item.getName(), item); } @Override public Map<String, ServiceItem> getItems() { return items; } public List<ServiceField> getAssetFields() { return ServiceField.getAssetFields(this); } public Set<String> getAssetTypes() { return ServiceField.getAssetTypes(this); } public ServiceField getField(String name) { return ServiceField.findField(this, name); } public List<ServiceField> getFieldList() { return ServiceField.getFieldList(this); } @Override public String toString() { ToStringBuilder builder = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE); toString(builder); builder.append("items", items); return builder.toString(); } }