@startuml
    set namespaceSeparator none
    hide empty fields
    hide empty methods

    class "<size:14>UpdateSearchIndexService\n<size:10>com.hack23.cia.service.impl.action.admin" as com.hack23.cia.service.impl.action.admin.UpdateSearchIndexService [[UpdateSearchIndexService.html]] {
        +UpdateSearchIndexService(SearchIndexer)
        +processService(UpdateSearchIndexRequest): UpdateSearchIndexResponse
        #createApplicationEventForService(UpdateSearchIndexRequest): CreateApplicationEventRequest
        #createErrorResponse(): UpdateSearchIndexResponse
    }

    abstract class "<size:14>AbstractBusinessServiceImpl\n<size:10>com.hack23.cia.service.impl.action.common" as com.hack23.cia.service.impl.action.common.AbstractBusinessServiceImpl<UpdateSearchIndexRequest, UpdateSearchIndexResponse> [[../common/AbstractBusinessServiceImpl.html]] {
        {abstract} #createErrorResponse(): UpdateSearchIndexResponse
        {abstract} #createApplicationEventForService(UpdateSearchIndexRequest): CreateApplicationEventRequest
    }
    interface "<size:14>BusinessService\n<size:10>com.hack23.cia.service.impl.action.common" as com.hack23.cia.service.impl.action.common.BusinessService<UpdateSearchIndexRequest, UpdateSearchIndexResponse> [[../common/BusinessService.html]] {
        {abstract} +getSupportedService(): Class<? extends ServiceRequest>
        {abstract} +processService(UpdateSearchIndexRequest): UpdateSearchIndexResponse
    }

    com.hack23.cia.service.impl.action.common.AbstractBusinessServiceImpl <|-- com.hack23.cia.service.impl.action.admin.UpdateSearchIndexService
    com.hack23.cia.service.impl.action.common.BusinessService <|.. com.hack23.cia.service.impl.action.admin.UpdateSearchIndexService

    center footer UMLDoclet 2.0.5, PlantUML 1.2019.08
@enduml
