package schedframe.scheduling.manager.resources; import java.util.List; import java.util.Map; import java.util.Properties; import schedframe.exceptions.ResourceException; import schedframe.resources.ResourceStatus; import schedframe.resources.ResourceType; import schedframe.resources.computing.ComputingResource; import schedframe.resources.units.ResourceUnit; import schedframe.resources.units.ResourceUnitName; import schedframe.scheduling.Scheduler; public interface ResourceManager { public boolean areResourcesAchievable(ResourceType type); public List getResourcesOfType(ResourceType type) throws ResourceException; public ComputingResource getResourceByName(String resourceName) throws ResourceException; public List getResourcesByTypeWithStatus(ResourceType type, ResourceStatus status) throws ResourceException; public Map> getSharedResourceUnits(); public List getDistributedResourceUnits(ResourceUnitName unitName); public List filterResources(Properties properties); public List getSchedulers(); public String getSchedulerName(String resourceName); }