jadex.bridge.IInternalAccess Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jadex-platform-bridge Show documentation
Show all versions of jadex-platform-bridge Show documentation
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 java.util.logging.Logger;
import jadex.bridge.component.IArgumentsResultsFeature;
import jadex.bridge.component.IExecutionFeature;
import jadex.bridge.component.IMonitoringComponentFeature;
import jadex.bridge.component.INFPropertyComponentFeature;
import jadex.bridge.component.ISubcomponentsFeature;
import jadex.bridge.modelinfo.IModelInfo;
import jadex.bridge.service.component.IProvidedServicesFeature;
import jadex.bridge.service.component.IRequiredServicesFeature;
import jadex.commons.IParameterGuesser;
import jadex.commons.IValueFetcher;
/**
* Common interface for all component types.
* Provides the user view of the component, i.e.,
* methods the component can call on itself.
*/
public interface IInternalAccess extends IExternalAccess, IExecutionFeature, IArgumentsResultsFeature, IProvidedServicesFeature, IRequiredServicesFeature, ISubcomponentsFeature, IMonitoringComponentFeature, INFPropertyComponentFeature //extends INFPropertyProvider//extends IRemotable
{
/**
* Get the model of the component.
* @return The model.
*/
public IModelInfo getModel();
/**
* Get the id of the component.
* @return The component id.
*/
public IComponentIdentifier getId();
/**
* Get the configuration.
* @return The configuration.
*/
public String getConfiguration();
/**
* Get a feature of the component.
* @param feature The type of the feature.
* @return The feature instance.
*/
public T getFeature(Class extends T> type);
/**
* Get a feature of the component without throwing exception if not present.
* @param feature The type of the feature.
* @return The feature instance.
*/
public T getFeature0(Class extends T> type);
// /**
// * Get the component description.
// * @return The component description.
// */
// // Todo: hack??? should be internal to CMS!?
// public IComponentDescription getDescription();
//
// /**
// * Get the component description.
// * @return The component description.
// */
// // Todo: hack??? should be internal to CMS!?
// public IFuture getDescription(IComponentIdentifier cid);
// /**
// * Add a new component as subcomponent of this component.
// * @param component The model or pojo of the component.
// */
// public IFuture createComponent(Object component, CreationInfo info, IResultListener>> resultlistener);
//
// /**
// * Add a new component as subcomponent of this component.
// * @param component The model or pojo of the component.
// */
// public ISubscriptionIntermediateFuture createComponentWithResults(Object component, CreationInfo info);
//
// /**
// * Create a new component on the platform.
// * @param name The component name or null for automatic generation.
// * @param model The model identifier (e.g. file name).
// * @param info Additional start information such as parent component or arguments (optional).
// * @return The id of the component and the results after the component has been killed.
// */
// public ITuple2Future> createComponent(Object component, CreationInfo info);
// /**
// * Kill the component.
// */
// public IFuture