package jadex.bridge; import jadex.commons.IFuture; import jadex.commons.concurrent.IResultListener; import jadex.commons.service.IServiceProvider; /** * Common interface for all component types. Is used when * scheduleStep() is called and the executing thread is the * component thread. */ public interface IInternalAccess { /** * Get the model of the component. * @return The model. */ public IModelInfo getModel(); /** * Get the parent (if any). * @return The parent. */ public IExternalAccess getParent(); /** * Get the children (if any). * @return The children. */ public IFuture getChildren(); /** * Get the id of the component. * @return The component id. */ public IComponentIdentifier getComponentIdentifier(); /** * Get the service provider. * @return The service provider. */ public IServiceProvider getServiceProvider(); /** * Kill the component. */ public IFuture killComponent(); /** * Create a result listener that is executed on the * component thread. */ public IResultListener createResultListener(IResultListener listener); /** * Get the external access. * @return The external access. */ public IExternalAccess getExternalAccess(); /** * Add an component listener. * @param listener The listener. */ public void addComponentListener(IComponentListener listener); /** * Remove a component listener. * @param listener The listener. */ public void removeComponentListener(IComponentListener listener); }