/* * Copyright (c) 2012 EMC Corporation * All Rights Reserved */ package com.emc.storageos.api.service.impl.resource.utils; import com.emc.storageos.db.client.DbClient; import com.emc.storageos.db.client.model.Volume; public interface CapacityCalculator { /** * Calculates the actual allocated capacity on the storage system * for the given requested capacity. * * @param requestedCapacity the requested volume capacity * @param volume the for which we want to calculate the allocated capacity * @dbClient the DB client * @return the actually array allocated capacity */ public Long calculateAllocatedCapacity(Long requestedCapacity, Volume volume, DbClient dbClient); /** * Determines if the requested capacity between the storage system * passed in and the one invoking this method can match. * * @param storageSystemType * @return Boolean indicating if they can match */ public Boolean capacitiesCanMatch(String storageSystemType); }