powered by ASAP

The PAK-Core harbors the core functionality of the PAK-framework. It enables the creation, fetching and execution of Commands. Every component within the core-module, plays a vital part in PAK. This chapter describes the functionality of the ILiteServiceProvider interface.

1. Basics

ILiteServiceProvider is extending the ILiteService interface, which makes it a LiteService. This Service can therefore be injected by using the @LiteService annotation and works only in Java Commands. It’s an interface for fetching LiteServices.

2. Usage

There are two methods within the ILiteServiceProvider interface:

  • getCommandRestService(), returns an instance of ICommandRestService, if it is available within the Context. If not, null is returned.

  • find(Class<T extends ILiteService> clazz), finds other custom registered Services, extending ILiteService within the Context. Returns null, if the Service does not exist.

3. Register

Don’t forget to register the implementing class of ILiteServiceProvider to the PAK-framework. This: Guide will show you how.

Listing 1 shows how to inject and use ICommandRestService

Listing 1. Example Java Command, injecting and using @ICommandRestService
/**
* @workflowDocu Sample-command, using ICommandRestService
*/
@JavaCommand
@CommandGroup("LiteService")
public class ServiceProviderCommand {

	@LiteService (1)
	ILiteServiceProvider liteServiceProvider;

	/**
	 * @workflowDocu Store response in this map
	 */
	@Persistent(scope = FieldScope.WRITE_ONLY)
	Map<String, Object> resultMap;

	@Run
	public void run() {

		final IEndpointClientService endpointClientService = this.liteServiceProvider.getCommandRestService()
				.createEndpointClientServiceFor("myRequesterId"); (2)
		[...]
}
}
1 Use of @LiteService, to inject ILiteServiceProvider.
2 Build an instance of IEndpointClientService, by getting an instance of ICommandRestService from ILiteServiceProvider, using the method getCommandRestService().