Derivatives of FunctionalService

Derivatives of FunctionalService interface facilitates creation of functional implementation of standard services. Functional service is just an object with a public method which takes a certain input and generates the desired output.

Simple search (simple-search)

The following are the specialized interfaces and classes available for simple-search service:

  • com.hcl.unica.cms.integration.service.search.SearchService

    The com.example.service.functional.SimpleSearchService class in the asset-integration-starter project is a quick starter implementation for the Functional simple-search service. Its parent is the com.hcl.unica.cms.integration.service.search.SearchService class.

    The SearchService class implements the FunctionalService interface and defines the SearchRequest class and the ContentPage class to be the type arguments RQ & RS respectively for the FunctionalService. Thus, the object of the SearchRequest becomes an input to all the simple-search services and the ContentPage is expected as an output on completion of the service.

    The plugin must extend its simple-search implementation from the SearchService service in order to be recognized as a simple-search service by the Asset Picker (RESTful counterpart is also a valid choice to extend from).

    The SearchService extends from the com.hcl.unica.cms.integration.service.search .AbstractSearchService abstract class. It introduces one more abstract method, named getSupportedContentTypes to implement the simple-search service.

Asset selection callback (asset-selection-callback)

The following are the specialized interfaces and classes available for the asset-selection-callback service:

  • com.hcl.unica.cms.integration.service.assetselectioncallback. AssetSelectionCallbackService
    The com.example.service.functional.ContentSelectionCallbackService class in the asset-integration-starter project is a quick starter implementation for Functional asset-selection-callback service. Its parent is the following class:
    com.hcl.unica.cms.integration.service.assetselectioncallback
    .AssetSelectionCallbackService

    The AssetSelectionCallbackService class implements the FunctionalService interface and defines the AssetSelectionDetails class and the Object classes to be the type arguments RQ & RS respectively for the FunctionalService. Thus, the object of the AssetSelectionDetails becomes an input to all the asset-selection-callback services and the Object or its subtype is expected as an output on completion of the service (the same input & output types are used for RESTful counterpart of asset-selection-callback). AssetSelectionDetails class is part of the Asset Picker SDK.

    Plugin must extend its asset-selection-callback implementation from the AssetSelectionCallbackService service in order to be recognized as an asset-selection-callback service by the Asset Picker (RESTful counterpart is also a valid choice to extend from).

    The AssetSelectionCallbackService extends from the following abstract class:
    com.hcl.unica.cms.integration.service.assetselectioncallback
    .AbstractAssetSelectionCallbackService

Resource loader (resource-loader)

The following are the specialized interfaces and classes available for the resource-loader service:

  • com.hcl.unica.cms.integration.service.resourceloader.WebResourceLoaderService

    The com.example.service.functional.ResourceLoaderService class in asset-integration-starter project is a quick starter implementation for Functional resource-loader service. Its parent is the com.hcl.unica.cms.integration.service.resourceloader. WebResourceLoaderService class.

    The WebResourceLoaderService class implements the FunctionalService interface and defines the ResourceRequest and the WebResource classes to be the type arguments RQ & RS respectively for the FunctionalService. Thus, the object of the ResourceRequest becomes an input to all the resource-loader services and the WebResource is expected as an output on completion of the service (the same input and output types are used for RESTful counterpart of the resource-loader).

    The plugin must extend its resource-loader implementation from the WebResourceLoaderService service to be recognized as a resource-loader service by the Asset Picker (RESTful counterpart is also a valid choice to extend from).

    The WebResourceLoaderService extends from the following abstract class:
    com.hcl.unica.cms.integration.service.resourceloader
    .AbstractWebResourceLoaderService