Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Jadex bridge is a base package for kernels and platforms, i.e., it is used by both and provides commonly used interfaces and classes for active components and their management.
package jadex.bridge;
import jadex.bridge.component.IExternalArgumentsResultsFeature;
import jadex.bridge.component.IExternalExecutionFeature;
import jadex.bridge.component.IExternalMonitoringComponentFeature;
import jadex.bridge.component.IExternalNFPropertyComponentFeature;
import jadex.bridge.component.IExternalSubcomponentsFeature;
import jadex.bridge.modelinfo.IModelInfo;
import jadex.bridge.service.annotation.Reference;
import jadex.bridge.service.annotation.Service;
import jadex.bridge.service.annotation.Tag;
import jadex.bridge.service.annotation.Tags;
import jadex.bridge.service.component.IExternalProvidedServicesFeature;
import jadex.bridge.service.component.IExternalRequiredServicesFeature;
import jadex.commons.future.IFuture;
/**
* The interface for accessing components from the outside.
*
* Methods may be called from any thread, but the result listener will not be scheduled back to the calling thread!
*/
@Reference
@Service
//@Tags(value="$component.getId().getRoot().equals($component.getId())? \"PLATFORM\": null")
@Tags(@Tag(include="$component.getId().getRoot().equals($component.getId())", value=IExternalAccess.PLATFORM_INTERNAL))
public interface IExternalAccess extends IExternalExecutionFeature, IExternalArgumentsResultsFeature,
IExternalProvidedServicesFeature, IExternalRequiredServicesFeature, IExternalSubcomponentsFeature,
IExternalMonitoringComponentFeature, IExternalNFPropertyComponentFeature //extends INFPropertyProvider//extends IRemotable
{
public static final String PLATFORM = "platform";
public static final String PLATFORM_INTERNAL = "\"platform\"";
//-------- cache --------
/**
* Get the model of the component.
* @return The model.
*/
public IFuture getModelAsync();
/**
* Get the id of the component.
* @return The component id.
*/
public IComponentIdentifier getId();
/**
* Get a feature of the component.
* @param feature The type of the feature.
* @return The feature instance.
*/
public T getExternalFeature(Class extends T> type);
// /**
// * Test if current thread is an external thread.
// * @return True if the current thread is not the component thread.
// */
// public boolean isExternalThread();
// /**
// * Get the component description.
// * @return The component description.
// */
// // Todo: hack??? should be internal to CMS!?
// public IFuture getDescription();
//
// /**
// * Get the component description.
// * @return The component description.
// */
// // Todo: hack??? should be internal to CMS!?
// public IFuture getDescription(IComponentIdentifier cid);
// /**
// * Schedule a step of the component.
// * May safely be called from external threads.
// * @param step Code to be executed as a step of the component.
// * @return The result of the step.
// */
// public IFuture scheduleStep(IComponentStep step);
//
// /**
// * Schedule a step of the component.
// * May safely be called from external threads.
// * @param step Code to be executed as a step of the component.
// * @return The result of the step.
// */
// public IFuture scheduleStep(int priority, IComponentStep step);
// /**
// * Execute some code on the component's thread.
// * Unlike scheduleStep(), the action will also be executed
// * while the component is suspended.
// * @param action Code to be executed on the component's thread.
// * @return The result of the step.
// */
// public IFuture scheduleImmediate(IComponentStep step);
// /**
// * Wait for some time and execute a component step afterwards.
// */
// public IFuture waitForDelay(long delay, IComponentStep step, boolean realtime);
//
// /**
// * Wait for some time and execute a component step afterwards.
// */
// public IFuture waitForDelay(long delay, IComponentStep step);
//-------- normal --------
// /**
// * Create a subcomponent.
// * @param component The instance info.
// */
// public IFuture createChild(final ComponentInstanceInfo component);
// /**
// * Kill the component.
// */
// public IFuture