Package jadex.bdiv3
Class BDIAgentFactory
- java.lang.Object
-
- jadex.bridge.service.BasicService
-
- jadex.bdiv3.BDIAgentFactory
-
- All Implemented Interfaces:
IInternalService
,IService
,IBootstrapFactory
,IComponentFactory
public class BDIAgentFactory extends BasicService implements IComponentFactory, IBootstrapFactory
Factory for creating micro agents.
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Collection<IComponentFeatureFactory>
BDI_FEATURES
The specific component features for micro agents.static java.lang.String
CAPA_TYPE
The model type identifier for a capability.protected java.util.Collection<IComponentFeatureFactory>
features
The standard + micro component features.static java.lang.String
FILETYPE_BDIAGENT
The BDI agent model type name (human readable for display).static java.lang.String
FILETYPE_BDICAPA
The BDI capability model type name (human readable for display).protected static LazyResource
ICON
The image icon.protected ILibraryService
libservice
The library service.protected ILibraryServiceListener
libservicelistener
The library service listenerprotected BDIModelLoader
loader
The application model loader.static java.util.Collection<IComponentFeatureFactory>
NOPLATFORM_DEFAULT_FEATURES
The default component features.protected IInternalAccess
provider
The platform.static java.lang.String
TYPE
The model type identifier for use in the @Agent annotation.-
Fields inherited from class jadex.bridge.service.BasicService
DEFAULT_SYSTEM_SECURITY, idcnt, impltype, internalaccess, providerid, shutdowned, sid, started, type
-
Fields inherited from interface jadex.bridge.service.IService
EMPTY_SERVICES
-
-
Constructor Summary
Constructors Constructor Description BDIAgentFactory(IInternalAccess provider)
Create a new agent factory.BDIAgentFactory(IInternalAccess provider, java.util.Map<java.lang.String,java.lang.Object> properties)
Create a new agent factory.BDIAgentFactory(java.lang.String providerid)
Create a new agent factory for startup.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
addExcludedMethods(java.util.Map<java.lang.String,java.lang.String[]> props, java.lang.String[] excludes)
Add excluded methods.java.lang.String[]
getComponentAnnotationTypes()
IFuture<java.util.Collection<IComponentFeatureFactory>>
getComponentFeatures(IModelInfo model, java.lang.Object pojo)
Get the component features for a model.IFuture<java.lang.String>
getComponentType(java.lang.String model, java.lang.String[] imports, IResourceIdentifier rid)
Get the component type of a model.IFuture<byte[]>
getComponentTypeIcon(java.lang.String type)
Get a default icon for a file type.java.lang.String[]
getComponentTypes()
Get the names of ADF file types supported by this factory.protected ILibraryService
getLibraryService()
Get the library servicestatic java.lang.String
getLoadableType(SClassReader.ClassInfo ci)
Get the model type from the class info.java.util.Map<java.lang.String,java.lang.Object>
getProperties(java.lang.String type)
Get the properties.IFuture<java.lang.Boolean>
isLoadable(java.lang.String model, java.lang.Object pojo, java.lang.String[] imports, IResourceIdentifier rid)
Test if a model can be loaded by the factory.IFuture<java.lang.Boolean>
isStartable(java.lang.String model, java.lang.Object pojo, java.lang.String[] imports, IResourceIdentifier rid)
Test if a model is startable (e.g.IFuture<SClassReader.ClassInfo>
loadClassInfo0(java.lang.String model, java.lang.String[] imports, IResourceIdentifier rid)
Load the class info for the model.IFuture<IModelInfo>
loadModel(java.lang.String model, java.lang.Object pojo, java.lang.String[] imports, IResourceIdentifier rid)
Load a model.void
setFeatures(java.util.Collection<IComponentFeatureFactory> features)
Set the features.IFuture<java.lang.Void>
shutdownService()
Shutdown the service.IFuture<java.lang.Void>
startService()
Start the service.IFuture<java.lang.Void>
startService(IInternalAccess component, IResourceIdentifier rid)
Start the service.-
Methods inherited from class jadex.bridge.service.BasicService
createServiceIdentifier, createServiceIdentifier, equals, generateServiceName, getInterfaceType, getInternalAccess, getInvokeMethod, getMethodInfos, getMethodTimeout, getPropertyMap, getProviderId, getSecurityLevel, getServiceId, hashCode, initNFProperties, invokeMethod, isUnrestricted, isValid, setComponentAccess, setPropertyMap, setServiceIdentifier, toString
-
-
-
-
Field Detail
-
NOPLATFORM_DEFAULT_FEATURES
public static final java.util.Collection<IComponentFeatureFactory> NOPLATFORM_DEFAULT_FEATURES
The default component features.
-
FILETYPE_BDIAGENT
public static final java.lang.String FILETYPE_BDIAGENT
The BDI agent model type name (human readable for display).- See Also:
- Constant Field Values
-
FILETYPE_BDICAPA
public static final java.lang.String FILETYPE_BDICAPA
The BDI capability model type name (human readable for display).- See Also:
- Constant Field Values
-
TYPE
public static final java.lang.String TYPE
The model type identifier for use in the @Agent annotation.- See Also:
- Constant Field Values
-
CAPA_TYPE
public static final java.lang.String CAPA_TYPE
The model type identifier for a capability.- See Also:
- Constant Field Values
-
ICON
protected static final LazyResource ICON
The image icon.
-
BDI_FEATURES
public static final java.util.Collection<IComponentFeatureFactory> BDI_FEATURES
The specific component features for micro agents.
-
loader
protected BDIModelLoader loader
The application model loader.
-
provider
protected IInternalAccess provider
The platform.
-
libservice
protected ILibraryService libservice
The library service.
-
libservicelistener
protected ILibraryServiceListener libservicelistener
The library service listener
-
features
protected java.util.Collection<IComponentFeatureFactory> features
The standard + micro component features.
-
-
Constructor Detail
-
BDIAgentFactory
public BDIAgentFactory(IInternalAccess provider)
Create a new agent factory.
-
BDIAgentFactory
public BDIAgentFactory(IInternalAccess provider, java.util.Map<java.lang.String,java.lang.Object> properties)
Create a new agent factory.
-
BDIAgentFactory
public BDIAgentFactory(java.lang.String providerid)
Create a new agent factory for startup.- Parameters:
platform
- The platform.
-
-
Method Detail
-
startService
public IFuture<java.lang.Void> startService(IInternalAccess component, IResourceIdentifier rid)
Start the service.- Specified by:
startService
in interfaceIBootstrapFactory
- Parameters:
component
- The component.rid
- The resource identifier.
-
startService
public IFuture<java.lang.Void> startService()
Start the service.- Specified by:
startService
in interfaceIInternalService
- Overrides:
startService
in classBasicService
- Returns:
- A future that is done when the service has completed starting.
-
shutdownService
public IFuture<java.lang.Void> shutdownService()
Shutdown the service.- Specified by:
shutdownService
in interfaceIInternalService
- Overrides:
shutdownService
in classBasicService
- Parameters:
listener
- The listener.- Returns:
- A future that is done when the service has completed its shutdown.
-
getComponentFeatures
public IFuture<java.util.Collection<IComponentFeatureFactory>> getComponentFeatures(IModelInfo model, java.lang.Object pojo)
Get the component features for a model.- Specified by:
getComponentFeatures
in interfaceIComponentFactory
- Parameters:
model
- The component model.- Returns:
- The component features.
-
setFeatures
public void setFeatures(java.util.Collection<IComponentFeatureFactory> features)
Set the features.- Parameters:
features
- The features to set.
-
loadModel
public IFuture<IModelInfo> loadModel(java.lang.String model, java.lang.Object pojo, java.lang.String[] imports, IResourceIdentifier rid)
Load a model.- Specified by:
loadModel
in interfaceIComponentFactory
- Parameters:
model
- The model (e.g. file name).The
- imports (if any).- Returns:
- The loaded model.
-
isLoadable
public IFuture<java.lang.Boolean> isLoadable(java.lang.String model, java.lang.Object pojo, java.lang.String[] imports, IResourceIdentifier rid)
Test if a model can be loaded by the factory.- Specified by:
isLoadable
in interfaceIComponentFactory
- Parameters:
model
- The model (e.g. file name).The
- imports (if any).- Returns:
- True, if model can be loaded.
-
getLoadableType
public static java.lang.String getLoadableType(SClassReader.ClassInfo ci)
Get the model type from the class info.- Returns:
- null, if no BDI model.
-
loadClassInfo0
public IFuture<SClassReader.ClassInfo> loadClassInfo0(java.lang.String model, java.lang.String[] imports, IResourceIdentifier rid)
Load the class info for the model.- Returns:
- null, if it could not be loaded.
-
getLibraryService
protected ILibraryService getLibraryService()
Get the library service
-
isStartable
public IFuture<java.lang.Boolean> isStartable(java.lang.String model, java.lang.Object pojo, java.lang.String[] imports, IResourceIdentifier rid)
Test if a model is startable (e.g. an component).- Specified by:
isStartable
in interfaceIComponentFactory
- Parameters:
model
- The model (e.g. file name).The
- imports (if any).- Returns:
- True, if startable (and loadable).
-
getComponentTypes
public java.lang.String[] getComponentTypes()
Get the names of ADF file types supported by this factory.- Specified by:
getComponentTypes
in interfaceIComponentFactory
-
getComponentAnnotationTypes
public java.lang.String[] getComponentAnnotationTypes()
- Specified by:
getComponentAnnotationTypes
in interfaceIComponentFactory
-
getComponentTypeIcon
public IFuture<byte[]> getComponentTypeIcon(java.lang.String type)
Get a default icon for a file type.- Specified by:
getComponentTypeIcon
in interfaceIComponentFactory
-
getComponentType
public IFuture<java.lang.String> getComponentType(java.lang.String model, java.lang.String[] imports, IResourceIdentifier rid)
Get the component type of a model.- Specified by:
getComponentType
in interfaceIComponentFactory
- Parameters:
model
- The model (e.g. file name).The
- imports (if any).
-
getProperties
public java.util.Map<java.lang.String,java.lang.Object> getProperties(java.lang.String type)
Get the properties. Arbitrary properties that can e.g. be used to define kernel-specific settings to configure tools.- Specified by:
getProperties
in interfaceIComponentFactory
- Parameters:
type
- The component type.- Returns:
- The properties or null, if the component type is not supported by this factory.
-
addExcludedMethods
public static void addExcludedMethods(java.util.Map<java.lang.String,java.lang.String[]> props, java.lang.String[] excludes)
Add excluded methods.
-
-