/* * Copyright (c) 2016 EMC Corporation * All Rights Reserved */ package com.emc.storageos.storagedriver; import java.util.List; import java.util.Map; public interface Registry { /** * Set attributes for a given driver and a given key. * This method will override existing driver attributed for a given key. * @param driverName * @param key * @param attributes */ public void setDriverAttributesForKey(String driverName, String key, Map<String, List<String>> attributes); /** * Add driver attribute for a specified key to registry. * If attribute already exist in registry, its value will be overwritten. * @param driverName * @param key * @param attribute * @param value */ public void addDriverAttributeForKey(String driverName, String key, String attribute, List<String> value); /** * Get all attributes for a given driver and a given key * * @param driverName * @param key * @return */ public Map<String, List<String>> getDriverAttributesForKey(String driverName, String key); /** * Get all attributes for a given driver * * @param driverName * @return */ public Map<String, Map<String, List<String>>> getDriverAttributes(String driverName); /** * Clear all driver attributes * @param driverName */ public void clearDriverAttributes(String driverName); /** * Clear driver attributes for a given key * @param driverName * @param key */ public void clearDriverAttributesForKey(String driverName, String key); /** * Clear specific driver attribute defined for a given key * @param driverName * @param key * @param attribute */ public void clearDriverAttributeForKey(String driverName, String key, String attribute); }