package schedframe.scheduling.plugin.grid; import java.util.List; import schedframe.resources.providers.ResourceProvider; import schedframe.scheduling.SchedulerDescription; import schedframe.scheduling.SecurityContext; import schedframe.scheduling.tasks.requirements.AbstractResourceRequirements; /** * This interface provides access to information about resources * */ public interface ResourceDiscovery extends Module { /** * * @return List of all administration domains in the system */ public List getAdministrationDomains(SecurityContext secContext); /** * * @return List of resource providers available in the system */ public List getProviders(SecurityContext secContext); /** * * @param admDomain * @return List of resource providers available in particular administration * domain. */ public List getProviders(String admDomain, SecurityContext secContext); public List getProviders(AbstractResourceRequirements reqDesc, SecurityContext secContext); /** * @return description of all resources. Order of the resources is not determined. */ public List getResources(SecurityContext secContext); /** * @param reqDesc resource requirements * @return description of all resources that meet resource requirements */ public List getResources(AbstractResourceRequirements reqDesc, SecurityContext secContext); public List getResources(); }