001package com.credibledoc.substitution.reporting.reportdocument.creator; 002 003import java.util.HashMap; 004import java.util.Map; 005 006/** 007 * A stateful singleton. Contains the {@link #map}. 008 * 009 * @author Kyrylo Semenko 010 */ 011public class ReportDocumentCreatorRepository { 012 013 /** 014 * This map contains {@link ReportDocumentCreator}s created by a client application where the keys are 015 * the map values implementation types. 016 */ 017 private Map<Class<? extends ReportDocumentCreator>, ReportDocumentCreator> map = new HashMap<>(); 018 019 /** 020 * @return The {@link #map} field value. 021 */ 022 public Map<Class<? extends ReportDocumentCreator>, ReportDocumentCreator> getMap() { 023 return map; 024 } 025 026 /** 027 * @param map see the {@link #map} field description. 028 */ 029 public void setMap(Map<Class<? extends ReportDocumentCreator>, ReportDocumentCreator> map) { 030 this.map = map; 031 } 032}