/** * Agent providing a decoupled service. */ @Arguments(@Argument(name=TagProperty.NAME, clazz=String.class, defaultvalue="\"decoupled\"")) @ProvidedServices(@ProvidedService(type=IServiceCallService.class, implementation=@Implementation(value=ServiceCallService.class, proxytype=Implementation.PROXYTYPE_DECOUPLED))) @Agent public class DecoupledServiceAgent { }
/** * Agent providing a direct service. */ @Arguments(@Argument(name=TagProperty.NAME, clazz=String.class, defaultvalue="\"direct\"")) @ProvidedServices(@ProvidedService(type=IServiceCallService.class, implementation=@Implementation(value=ServiceCallService.class, proxytype=Implementation.PROXYTYPE_DIRECT))) @Agent public class DirectServiceAgent { }
/** * Agent providing a raw service. */ @Arguments(@Argument(name=TagProperty.NAME, clazz=String.class, defaultvalue="\"raw\"")) @ProvidedServices(@ProvidedService(type=IServiceCallService.class, implementation=@Implementation(expression="new RawServiceCallService($component.getComponentIdentifier())", proxytype=Implementation.PROXYTYPE_RAW))) @Agent public class RawServiceAgent { // @Agent // protected IInternalAccess agent; // // @AgentKilled // public void killed() // { // System.out.println("killing: "+agent.getComponentIdentifier()); // } }
/** * Agent that provides the context service. */ @Agent @Arguments(@Argument(name="contextserviceclass", clazz=Class.class)) @ProvidedServices(@ProvidedService(type=IContextService.class, implementation=@Implementation(expression="$args.contextserviceclass!=null ? jadex.commons.SReflect.classForName0($args.contextserviceclass, jadex.commons.SReflect.class.getClassLoader()).newInstance() : jadex.commons.SReflect.isAndroid() ? jadex.platform.service.context.AndroidContextService.class.getConstructor(new Class[]{jadex.bridge.IComponentIdentifier.class}).newInstance(new Object[]{$component.getComponentIdentifier()}): jadex.platform.service.context.ContextService.class.getConstructor(new Class[]{jadex.bridge.IComponentIdentifier.class}).newInstance(new Object[]{$component.getComponentIdentifier()})"))) @Properties(value=@NameValue(name="system", value="true")) public class ContextAgent { }
/** * Agent that provides the clock service. */ @Agent @Arguments(@Argument(name="simulation", clazz=boolean.class, defaultvalue="false")) @ProvidedServices(@ProvidedService(type=IClockService.class, implementation=@Implementation( expression="$args.simulation==null || !$args.simulation.booleanValue()? new jadex.platform.service.clock.ClockService(new jadex.platform.service.clock.ClockCreationInfo(jadex.bridge.service.types.clock.IClock.TYPE_SYSTEM, \"system_clock\", System.currentTimeMillis(), 100), $component, $args.simulation): new jadex.platform.service.clock.ClockService(new jadex.platform.service.clock.ClockCreationInfo(jadex.bridge.service.types.clock.IClock.TYPE_EVENT_DRIVEN, \"simulation_clock\", System.currentTimeMillis(), 100), $component, $args.simulation)", proxytype=Implementation.PROXYTYPE_RAW))) @Properties(value=@NameValue(name="system", value="true")) public class ClockAgent { }
@Imports( { "jadex.bridge.service.types.factory.*", "jadex.bridge.service.types.cms.*" }) @Arguments(@Argument(name="extensions", clazz=String.class)) @ProvidedServices(@ProvidedService(type=IExtensionLoaderService.class, implementation=@Implementation(ExtensionLoaderService.class))) @RequiredServices(@RequiredService(name="cms", type=IComponentManagementService.class, binding=@Binding(scope=Binding.SCOPE_PLATFORM))) @Agent public class ExtensionsAgent { }
@Imports( { "jadex.bridge.service.types.factory.*", "jadex.bridge.service.types.cms.*" }) @Arguments(@Argument(name="extensions", clazz=String.class)) @ProvidedServices(@ProvidedService(type=IExtensionLoaderService.class, implementation=@Implementation(ExtensionLoaderService.class))) @RequiredServices(@RequiredService(name="cms", type=IComponentManagementService.class, binding=@Binding(scope=Binding.SCOPE_PLATFORM))) @Agent public class ExtensionsAgent { }
@Agent @Service @Arguments(@Argument(name="wordpair", clazz=String[].class, defaultvalue="new String[]{\"bugger\", \"Flegel\"}")) public class TranslationBDI
@Agent @Service @Arguments(@Argument(name="wordpair", clazz=String[].class, defaultvalue="new String[]{\"bugger\", \"Flegel\"}")) public class TranslationBDI
@Arguments(@Argument(name="component", clazz=IComponentIdentifier.class, defaultvalue="null", description="The component id of the remote component/platform.")) @ProvidedServices(@ProvidedService(type=IProxyAgentService.class, implementation=@Implementation(expression="$component"))) @Service
/** * Chat micro agent. */ @Description("This agent offers a chat service.") @ProvidedServices({ @ProvidedService(name="chat", type=IChatService.class, implementation=@Implementation(ChatService.class)), @ProvidedService(type=IChatGuiService.class, implementation=@Implementation(expression="$component.getRawService(\"chat\")")) }) @RequiredServices( @RequiredService(name="chatservices", type=IChatService.class, multiple=true, binding=@Binding(dynamic=true, scope=Binding.SCOPE_GLOBAL)) ) @Arguments(@Argument(name="nosave", clazz=boolean.class, description="Don't save settings.")) public class ChatAgent extends MicroAgent { }
/** * Agent that provides the library service. */ @Agent @Arguments({ @Argument(name="libpath", clazz=String.class), @Argument(name="baseclassloader", clazz=ClassLoader.class), @Argument(name="maven_dependencies", clazz=boolean.class) }) @ProvidedServices({ @ProvidedService(type=ILibraryService.class, implementation=@Implementation(expression="jadex.commons.SReflect.isAndroid() ? jadex.platform.service.library.AndroidLibraryService.class.newInstance() : $args.libpath==null? new jadex.platform.service.library.LibraryService(): new jadex.platform.service.library.LibraryService(new java.net.URLClassLoader(jadex.commons.SUtil.toURLs($args.libpath), $args.baseclassloader==null ? jadex.platform.service.library.LibraryService.class.getClassLoader() : $args.baseclassloader))")), @ProvidedService(type=IDependencyService.class, implementation=@Implementation(expression="$args.maven_dependencies ? jadex.platform.service.dependency.maven.MavenDependencyResolverService.class.newInstance(): new jadex.platform.service.library.BasicDependencyService()")) }) @Properties(value=@NameValue(name="system", value="true")) public class LibraryAgent { }
/** * Agent that provides the security service. */ @Agent @Arguments({ @Argument(name="usepass", clazz=boolean.class, defaultvalue="true"), @Argument(name="printpass", clazz=boolean.class, defaultvalue="true"), @Argument(name="trustedlan", clazz=boolean.class, defaultvalue="true"), @Argument(name="networkname", clazz=String[].class), @Argument(name="networkpass", clazz=String[].class), @Argument(name="virtualnames", clazz=String[].class), @Argument(name="validityduration", clazz=long.class) }) @ProvidedServices(@ProvidedService(type=ISecurityService.class, implementation=@Implementation(expression="new jadex.platform.service.security.SecurityService($args.usepass, $args.printpass, $args.trustedlan, $args.networkname==null? null: new String[]{$args.networkname}, $args.networkpass==null? null: new String[]{$args.networkpass}, null, $args.virtualnames, $args.validityduration)"))) @Properties(value=@NameValue(name="system", value="true")) public class SecurityAgent { }
@Arguments(@Argument(name="selfkill", clazz=boolean.class)) @RequiredServices(@RequiredService(name = "MessageService", type = IMessageService.class, binding = @Binding(scope = RequiredServiceInfo.SCOPE_GLOBAL))) @ProvidedServices(@ProvidedService(type = IMessageService.class, name = "MessageService", implementation = @Implementation(MessageService.class)))
/** * Multi kernel. */ @Arguments({ @Argument(name="defaultkernels", description= "Kernel default locations.", clazz=String[].class, defaultvalue="null"), @Argument(name="ignorekernels", description="Kernels that are ignored.", clazz=String[].class, defaultvalue="new String[] {\"KernelBDI.component.xml\"}"), @Argument(name="ignoreextensions", description="File extensions that are ignored.", clazz=String[].class, defaultvalue="null")}) @ProvidedServices({ @ProvidedService(type=IComponentFactory.class, implementation=@Implementation(expression="new jadex.kernelbase.MultiFactory($args.defaultkernels, $args.ignorekernels, $args.ignoreextensions)")), @ProvidedService(type=IMultiKernelNotifierService.class, implementation=@Implementation(expression="$component.getRawService(jadex.bridge.service.types.factory.IComponentFactory.class)")) }) @ComponentTypes({ @ComponentType(name="KernelMicro", filename="jadex/micro/KernelMicroAgent.class") }) @Configurations({ @Configuration(name="default", components={ @Component(name="kernel_micro", type="KernelMicro") }) }) public class KernelMultiAgent extends MicroAgent { }
/** * Base class agent. */ @Agent @Description("Base description") @Imports({"b1", "b2"}) @Properties({@NameValue(name="a", value="\"ba\""), @NameValue(name="b", value="\"bb\"")}) @RequiredServices(@RequiredService(name="clock", type=IClockService.class, binding=@Binding(scope=RequiredServiceInfo.SCOPE_PLATFORM))) @ProvidedServices(@ProvidedService(name="myservice", type=IAService.class, implementation=@Implementation(Object.class))) @Arguments(@Argument(name="arg1", defaultvalue="\"bval\"", clazz=String.class)) @Results(@Result(name="res1", defaultvalue="\"bres\"", clazz=String.class)) @Configurations({@Configuration(name="config1"), @Configuration(name="config2")}) public abstract class BaseAgent { }
/** * Chat micro agent. */ @Description("This agent offers a chat service.") @ProvidedServices({ @ProvidedService(name="chat", type=IChatService.class, implementation=@Implementation(ChatService.class)), @ProvidedService(name="chatgui", type=IChatGuiService.class, implementation=@Implementation(expression="$component.getComponentFeature(jadex.bridge.service.component.IProvidedServicesFeature.class).getProvidedServiceRawImpl(\"chat\")")) }) @RequiredServices( @RequiredService(name="chatservices", type=IChatService.class, multiple=true, binding=@Binding(dynamic=true, scope=Binding.SCOPE_GLOBAL)) ) @Arguments(@Argument(name="nosave", clazz=boolean.class, description="Don't save settings.")) @Agent @Properties(@NameValue(name="system", value="\"system\".equals($config)")) @Configurations({@Configuration(name="system"), @Configuration(name="user")}) public class ChatAgent { // @Agent // protected IInternalAccess agent; // // @AgentCreated // public void body() // { // System.out.println("config: "+agent.getConfiguration()); // } }
@Arguments({ @Argument(name="defaultkernels", description= "Kernel default locations.", clazz=String[].class, defaultvalue="null"),