@startuml
    namespace com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.impl {

        class MinistryDataSeriesFactoryImpl [[MinistryDataSeriesFactoryImpl.html]] {
            +createChartTimeSeriesTotalDaysServedGovernmentByParty(): DataSeries
            +createMinistryChartTimeSeriesAll(): DataSeries
            +createMinistryChartTimeSeriesCurrent(): DataSeries
        }

        class DecisionDataFactoryImpl [[DecisionDataFactoryImpl.html]] {
            +createCommitteeSummary(String): List<ProposalCommitteeeSummary>
        }

        class PartyDataSeriesFactoryImpl [[PartyDataSeriesFactoryImpl.html]] {
            +createChartTimeSeriesCurrentCommitteeByParty(): DataSeries
            +createChartTimeSeriesCurrentGovernmentByParty(): DataSeries
            +createPartyChartTimeSeriesAll(): DataSeries
            +createPartyChartTimeSeriesCurrent(): DataSeries
        }

        class CommitteeDataSeriesFactoryImpl [[CommitteeDataSeriesFactoryImpl.html]] {
            +createChartTimeSeriesTotalDaysServedCommitteeByParty(): DataSeries
            +createCommitteeChartTimeSeriesAll(): DataSeries
            +createCommitteeChartTimeSeriesCurrent(): DataSeries
        }

        com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.api.MinistryDataSeriesFactory <|.. MinistryDataSeriesFactoryImpl
        com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.api.DecisionDataFactory <|.. DecisionDataFactoryImpl
        com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.api.PartyDataSeriesFactory <|.. PartyDataSeriesFactoryImpl
        com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.api.CommitteeDataSeriesFactory <|.. CommitteeDataSeriesFactoryImpl
    }

    namespace com.hack23.cia.web.impl.ui.application.views.common.dataseriesfactory.api {
        interface MinistryDataSeriesFactory [[../api/MinistryDataSeriesFactory.html]] {
            {abstract} +createChartTimeSeriesTotalDaysServedGovernmentByParty(): DataSeries
            {abstract} +createMinistryChartTimeSeriesAll(): DataSeries
            {abstract} +createMinistryChartTimeSeriesCurrent(): DataSeries
        }
        interface DecisionDataFactory [[../api/DecisionDataFactory.html]] {
            {abstract} +createCommitteeSummary(String): List<ProposalCommitteeeSummary>
        }
        interface PartyDataSeriesFactory [[../api/PartyDataSeriesFactory.html]] {
            {abstract} +createChartTimeSeriesCurrentCommitteeByParty(): DataSeries
            {abstract} +createChartTimeSeriesCurrentGovernmentByParty(): DataSeries
            {abstract} +createPartyChartTimeSeriesAll(): DataSeries
            {abstract} +createPartyChartTimeSeriesCurrent(): DataSeries
        }
        interface CommitteeDataSeriesFactory [[../api/CommitteeDataSeriesFactory.html]] {
            {abstract} +createChartTimeSeriesTotalDaysServedCommitteeByParty(): DataSeries
            {abstract} +createCommitteeChartTimeSeriesAll(): DataSeries
            {abstract} +createCommitteeChartTimeSeriesCurrent(): DataSeries
        }
    }

    center footer UMLDoclet 2.0.7, PlantUML 1.2019.12
@enduml
