/* * Copyright (c) 2016 EMC Corporation * All Rights Reserved */ package com.emc.storageos.storagedriver; import java.util.List; import com.emc.storageos.storagedriver.model.StorageObject; public interface StorageDriver { public static final String SDK_VERSION_NUMBER = "3.2.0.0"; /** * Get driver registration data. */ public RegistrationData getRegistrationData(); /** * Return driver task with a given id. * * @param taskId * @return */ public DriverTask getTask(String taskId); /** * Get storage object with a given type with specified native ID which belongs to specified storage system * * @param storageSystemId storage system native id * @param objectId object native id * @param type class instance * @param <T> storage object type * @return storage object or null if does not exist * * Example of usage: * StorageVolume volume = StorageDriver.getStorageObject("vmax-12345", "volume-1234", StorageVolume.class); */ public <T extends StorageObject> T getStorageObject(String storageSystemId, String objectId, Class<T> type); }