package jadex.commons.service; import jadex.commons.IFuture; import jadex.commons.IRemotable; import java.util.Collection; /** * Interface for service providers. */ public interface IServiceProvider extends IRemotable { /** * Get all services of a type. * @param type The class. * @return The corresponding services. */ public IFuture getServices(ISearchManager manager, IVisitDecider decider, IResultSelector selector, Collection results); /** * Get the parent service container. * @return The parent container. */ public IFuture getParent(); /** * Get the children container. * @return The children container. */ public IFuture getChildren(); /** * Get the globally unique id of the provider. * @return The id of this provider. */ public Object getId(); }