00001 /** 00002 * @file CompoundTypeParameter.h 00003 * @brief Options for the compound type 00004 * 00005 * @author Nakashima h 00006 * @date 2021-10-06 00007 * 00008 * $Id: CompoundTypeParameter.h 32 2022-07-14 03:20:43Z shingo.yoneda $ 00009 * 00010 * Copyright (c) 2020-2022 Antenna House, Inc. All rights reserved. 00011 */ 00012 00013 #pragma once 00014 #include "DataMergeParams.h" 00015 00016 /** 00017 * @brief Options for the compound type 00018 */ 00019 struct CompoundTypeParameter { 00020 /** 00021 * @brief Default constructor 00022 */ 00023 CompoundTypeParameter() {} 00024 00025 /** 00026 * @brief Constructor 00027 * @param linking_key - Column name with unique value in the data 00028 */ 00029 CompoundTypeParameter(std::string linking_key) : m_linking_key(linking_key) {} 00030 00031 /** 00032 * @brief Destructor 00033 */ 00034 ~CompoundTypeParameter() {} 00035 00036 /** 00037 * @brief Row number pattern of breakdown part 00038 */ 00039 CompoundTypeOption::RepeatingRowsPattern m_repeating_rows_pattern = CompoundTypeOption::RepeatingRowsPattern::Fixed; 00040 /** 00041 * @brief Style when a breakdown part with a fixed number of rows spans multiple pages 00042 */ 00043 CompoundTypeOption::MultiplePagesStyle m_multiple_pages_style = CompoundTypeOption::MultiplePagesStyle::RepeatTemplate; 00044 /** 00045 * @brief Editing rule for the footer part with a fixed number of rows 00046 */ 00047 CompoundTypeOption::DeletingFooterRule m_deleting_footer_rule = CompoundTypeOption::DeletingFooterRule::LeaveAll; 00048 00049 /** 00050 * @brief Column name with unique value in the data 00051 */ 00052 std::string m_linking_key; 00053 00054 /** 00055 * @brief File path for the non-breakdown data 00056 */ 00057 std::string m_main_data_path = ""; 00058 00059 /** 00060 * @brief File path for the breakdown data 00061 */ 00062 std::vector<std::string> m_sub_data_paths; 00063 00064 /** 00065 * @brief File format for merging data 00066 */ 00067 CommonOption::DataType m_data_type = CommonOption::DataType::CSV; 00068 00069 /** 00070 * @brief File encoding 00071 */ 00072 CommonOption::DataFileEncoding m_file_encoding = CommonOption::DataFileEncoding::SJIS; 00073 };