001package com.credibledoc.substitution.reporting.placeholder; 002 003import com.credibledoc.substitution.core.placeholder.Placeholder; 004import com.credibledoc.substitution.reporting.reportdocument.ReportDocument; 005 006import java.util.HashMap; 007import java.util.Map; 008 009/** 010 * A stateful class. Contains a {@link #placeholderToReportDocumentMap}. 011 * 012 * @author Kyrylo Semenko 013 */ 014public class PlaceholderToReportDocumentRepository { 015 016 /** 017 * Singleton. 018 */ 019 private static final PlaceholderToReportDocumentRepository instance = new PlaceholderToReportDocumentRepository(); 020 021 /** 022 * @return The {@link PlaceholderToReportDocumentRepository} singleton. 023 */ 024 public static PlaceholderToReportDocumentRepository getInstance() { 025 return instance; 026 } 027 028 /** 029 * This map is filled out during a preparation phase and used in a generation phase. 030 * It maps {@link Placeholder} to {@link ReportDocument}. 031 */ 032 private Map<Placeholder, ReportDocument> placeholderToReportDocumentMap = new HashMap<>(); 033 034 /** 035 * @return The {@link #placeholderToReportDocumentMap} field value. 036 */ 037 public Map<Placeholder, ReportDocument> getPlaceholderToReportDocumentMap() { 038 return placeholderToReportDocumentMap; 039 } 040 041 /** 042 * @param placeholderToReportDocumentMap see the {@link #placeholderToReportDocumentMap} field description. 043 */ 044 public void setPlaceholderToReportDocumentMap(Map<Placeholder, ReportDocument> placeholderToReportDocumentMap) { 045 this.placeholderToReportDocumentMap = placeholderToReportDocumentMap; 046 } 047}