@startuml namespace ecoparasite { class Application { } namespace ecoparasite.input { class InputFactory { - {static} String DATA_FOLDER + {static} String buildDataPath() + {static} RawData readData() - {static} RawData createRawData() } class RawData { - ArrayList> data + RawData() + ArrayList> getData() + String toString() + HashSet getColumnsNames() + HashSet getDataFromColumn() + HashMap getEntry() } InputFactory o--> RawData interface DataParsing { + HashSet parse() } exception InputFileException { - String dataFilePath + String getMessage() } exception RawDataOverflow { - int excepted - int limit + String getMessage() } exception InvalidParsingException { - int parsingId - String parsingClass } } namespace ecoparasite.poissons { class Poisson { - String id - Double length - Double weight - Double infestation --- + Poisson() .. Getters .. + String toString() } class Merlu extends Poisson implements ecoparasite.input.DataParsing { + Merlu() } class Mackerel extends Poisson implements ecoparasite.input.DataParsing { + Mackerel() } class PartiePoisson { - String name - Double infestation + PartiePoisson(String name, Double infestation) } Poisson o--> PartiePoisson : # fishParts } namespace ecoparasite.population { class Population implements ecoparasite.input.DataParsing { - String id - HashMap perYear + Population() } Population o--> PopulationArgs : - total class PopulationArgs { - int year - int number - Double intensity - Double abondance + PopulationArgs() } PopulationArgs o--> PopulationArgInterval : - length PopulationArgs o--> PopulationArgInterval : - width PopulationArgs o--> PopulationArgInterval : - prevalence PopulationArgs o--> PopulationArgInterval : - ic class PopulationArgInterval { - Double min - Double max - Double mean + PopulationArgInterval() + PopulationArgInterval() + Double transformToDouble() + {static} PopulationArgInterval fromString() } class PopulationParsing { + {static} HashSet parseParasitesPeru() - {static} void applyValueForParasitesPeru() } } namespace ecoparasite.unknown { note top of ecoparasite.unknown : Ce paquet est temporaire pour des classes / interfaces qui devront avoir plus de déclinaisons. class DataCleaner { + DataCleaner() + String toString() } interface DataCompletion { + void exception() } } } Exception <|-- InputFileException Exception <|-- RawDataOverflow @enduml