|
Flow123d
DF_patch_fe_data_tables-32b3de9
|
Internal part of IST reader. More...
#include <reader_internal_base.hh>

Public Member Functions | |
| TYPEDEF_ERR_INFO (EI_InputType, string) | |
| TYPEDEF_ERR_INFO (EI_File, const string) | |
| TYPEDEF_ERR_INFO (EI_Specification, const string) | |
| TYPEDEF_ERR_INFO (EI_Format, const string) | |
| TYPEDEF_ERR_INFO (EI_JSON_Type, const string) | |
| TYPEDEF_ERR_INFO (EI_ErrorAddress, string) | |
| TYPEDEF_ERR_INFO (EI_TransposeIndex, unsigned int) | |
| TYPEDEF_ERR_INFO (EI_TransposeAddress, string) | |
| TYPEDEF_ERR_INFO (EI_JSONLine, unsigned int) | |
| TYPEDEF_ERR_INFO (EI_JSONColumn, unsigned int) | |
| TYPEDEF_ERR_INFO (EI_JSONReason, string) | |
| TYPEDEF_ERR_INFO (EI_InputErrorMessage, const string) | |
| TYPEDEF_ERR_INFO (EI_RecordName, const string) | |
| TYPEDEF_ERR_INFO (EI_Tag, string) | |
| TYPEDEF_ERR_INFO (EI_TokenizerMsg, std::string) | |
| TYPEDEF_ERR_INFO (EI_ColumnIndex, unsigned int) | |
| DECLARE_INPUT_EXCEPTION (ExcInputError,<< "Error in input file: "<< EI_File::qval<< " at address: "<< EI_ErrorAddress::qval<< "\n"<< EI_Specification::val<< "\n"<< EI_Format::val<< " type: "<< EI_JSON_Type::qval<< "\n"<< "Expected type:\n"<< EI_InputType::val) | |
| General exception during conversion from JSON/YAML tree to storage. More... | |
| DECLARE_INPUT_EXCEPTION (ExcNotJSONFormat,<< "Not valid JSON file "<< EI_File::qval<< ". Error at line "<< EI_JSONLine::val<< " : col "<< EI_JSONColumn::val<< " ; reason: "<< EI_JSONReason::val<< "\n") | |
| DECLARE_INPUT_EXCEPTION (ExcAutomaticConversionError,<< "Error during automatic conversion of "<< EI_RecordName::val<< " record.\n "<< EI_InputErrorMessage::val<< "\n") | |
| DECLARE_INPUT_EXCEPTION (ExcForbiddenTag,<< "Tag "<< EI_Tag::qval<< " "<< EI_Specification::val<< "\n") | |
| DECLARE_INPUT_EXCEPTION (ExcDuplicitTag,<< "Error in input file: "<< EI_File::qval<< " at address: "<< EI_ErrorAddress::qval<< "\n"<< "Duplicit Tag: "<< EI_Tag::qval<< "\n") | |
| DECLARE_INPUT_EXCEPTION (ExcWrongCsvFormat,<< EI_Specification::val<< ",\n"<< EI_TokenizerMsg::val<< "\n") | |
| DECLARE_INPUT_EXCEPTION (ExcMultipleDefinitionCsvColumn,<< "Multiple definition of column with index "<< EI_ColumnIndex::qval<< " in included CSV file:\n"<< EI_File::val<< ",\n") | |
| ReaderInternalBase () | |
| Constructor. More... | |
Protected Member Functions | |
| StorageBase * | make_storage (PathBase &p, const Type::TypeBase *type) |
Create storage of given type. More... | |
| StorageBase * | make_sub_storage (PathBase &p, const Type::Record *record) |
| Create storage of Type::Record type. Common method of all descendants. More... | |
| StorageBase * | make_sub_storage (PathBase &p, const Type::Tuple *tuple) |
| Create storage of Type::Tuple type. Common method of all descendants. More... | |
| StorageBase * | make_sub_storage (PathBase &p, const Type::Abstract *abstr_rec) |
| Create storage of Type::Abstract type. Common method of all descendants. More... | |
| virtual StorageBase * | make_sub_storage (PathBase &p, const Type::Array *array)=0 |
| Create storage of Type::Array type. More... | |
| virtual StorageBase * | make_sub_storage (PathBase &p, const Type::Selection *selection)=0 |
| Create storage of Type::Selection type. More... | |
| virtual StorageBase * | make_sub_storage (PathBase &p, const Type::Bool *bool_type)=0 |
| Create storage of Type::Bool type. More... | |
| virtual StorageBase * | make_sub_storage (PathBase &p, const Type::Integer *int_type)=0 |
| Create storage of Type::Integer type. More... | |
| virtual StorageBase * | make_sub_storage (PathBase &p, const Type::Double *double_type)=0 |
| Create storage of Type::Double type. More... | |
| virtual StorageBase * | make_sub_storage (PathBase &p, const Type::String *string_type)=0 |
| Create storage of Type::String type. More... | |
| StorageBase * | record_automatic_conversion (PathBase &p, const Type::Record *record) |
| Apply automatic conversion of Type::Record type. More... | |
| StorageBase * | abstract_automatic_conversion (PathBase &p, const Type::Abstract *abstr_rec) |
| Apply automatic conversion of Type::Abstract type. More... | |
| StorageBase * | make_array_storage (PathBase &p, const Type::Array *array, int arr_size) |
| Create storage of Type::Array with given size. More... | |
| StorageBase * | make_storage_from_default (const string &dflt_str, std::shared_ptr< Type::TypeBase > type) |
Dispatch according to type and create corresponding storage from the given string. More... | |
| StorageBase * | make_include_storage (PathBase &p, const Type::TypeBase *type) |
| Create storage of included YAML or JSON input file. More... | |
| bool | read_bool_value (PathBase &p, const Type::TypeBase *type) |
| Read boolean value from path. More... | |
| std::int64_t | read_int_value (PathBase &p, const Type::TypeBase *type) |
| Read integer value from path. More... | |
| double | read_double_value (PathBase &p, const Type::TypeBase *type) |
| Read double value from path. More... | |
| std::string | read_string_value (PathBase &p, const Type::TypeBase *type) |
| Read string value from path. More... | |
| std::string | get_included_file (PathBase &p) |
| Helper method. Get string value of included file or throw exception if reading failed. More... | |
| void | generate_input_error (PathBase &p, const Type::TypeBase *type, std::string spec, bool add_type) |
Generate ExcInputError. More... | |
| void | complete_input_error (ExcInputError &e, PathBase &p, ValueTypes value_type) |
Complete specification, error address and JSON type error tags to ExcInputError. More... | |
Internal part of IST reader.
This class defines interface for creating storage. Dispatching of storage is ensured by the non-virtual method read_storage, different for individual descendants.
Definition at line 42 of file reader_internal_base.hh.
| Input::ReaderInternalBase::ReaderInternalBase | ( | ) |
Constructor.
Definition at line 35 of file reader_internal_base.cc.
|
protected |
Apply automatic conversion of Type::Abstract type.
Definition at line 294 of file reader_internal_base.cc.
|
protected |
Complete specification, error address and JSON type error tags to ExcInputError.
Definition at line 449 of file reader_internal_base.cc.
| Input::ReaderInternalBase::DECLARE_INPUT_EXCEPTION | ( | ExcAutomaticConversionError | , |
| << "Error during automatic conversion of "<< EI_RecordName::val<< " record.\n "<< EI_InputErrorMessage::val<< "\n" | |||
| ) |
| Input::ReaderInternalBase::DECLARE_INPUT_EXCEPTION | ( | ExcDuplicitTag | , |
| << "Error in input file: "<< EI_File::qval<< " at address: "<< EI_ErrorAddress::qval<< "\n"<< "Duplicit Tag: "<< EI_Tag::qval<< "\n" | |||
| ) |
| Input::ReaderInternalBase::DECLARE_INPUT_EXCEPTION | ( | ExcForbiddenTag | , |
| << "Tag "<< EI_Tag::qval<< " "<< EI_Specification::val<< "\n" | |||
| ) |
| Input::ReaderInternalBase::DECLARE_INPUT_EXCEPTION | ( | ExcInputError | , |
| << "Error in input file: "<< EI_File::qval<< " at address: "<< EI_ErrorAddress::qval<< "\n"<< EI_Specification::val<< "\n"<< EI_Format::val<< " type: "<< EI_JSON_Type::qval<< "\n"<< "Expected type:\n"<< EI_InputType::val | |||
| ) |
General exception during conversion from JSON/YAML tree to storage.
| Input::ReaderInternalBase::DECLARE_INPUT_EXCEPTION | ( | ExcMultipleDefinitionCsvColumn | , |
| << "Multiple definition of column with index "<< EI_ColumnIndex::qval<< " in included CSV file:\n"<< EI_File::val<< " | , | ||
| \n" | |||
| ) |
| Input::ReaderInternalBase::DECLARE_INPUT_EXCEPTION | ( | ExcNotJSONFormat | , |
| << "Not valid JSON file "<< EI_File::qval<< ". Error at line "<< EI_JSONLine::val<< " : col "<< EI_JSONColumn::val<< " ; reason: "<< EI_JSONReason::val<< "\n" | |||
| ) |
| Input::ReaderInternalBase::DECLARE_INPUT_EXCEPTION | ( | ExcWrongCsvFormat | , |
| << EI_Specification::val<< " | , | ||
| \n"<< EI_TokenizerMsg::val<< "\n" | |||
| ) |
|
protected |
Generate ExcInputError.
Definition at line 439 of file reader_internal_base.cc.

|
protected |
Helper method. Get string value of included file or throw exception if reading failed.
Definition at line 427 of file reader_internal_base.cc.
|
protected |
Create storage of Type::Array with given size.
Definition at line 303 of file reader_internal_base.cc.

|
protected |
Create storage of included YAML or JSON input file.
Definition at line 346 of file reader_internal_base.cc.
|
protected |
Create storage of given type.
Check correctness of the input given by json_spirit or YAML-cpp node at head() of PathBase p against type specification type. Die on input error (and return NULL). For correct input, creates the storage tree and returns pointer to its root node.
Definition at line 38 of file reader_internal_base.cc.

|
protected |
Dispatch according to type and create corresponding storage from the given string.
Definition at line 327 of file reader_internal_base.cc.
|
protected |
Create storage of Type::Abstract type. Common method of all descendants.
Definition at line 231 of file reader_internal_base.cc.
|
protectedpure virtual |
Create storage of Type::Array type.
Implemented in Input::ReaderInternalTranspose, Input::ReaderInternalCsvInclude, and Input::ReaderInternal.
|
protectedpure virtual |
Create storage of Type::Bool type.
Implemented in Input::ReaderInternalTranspose, Input::ReaderInternalCsvInclude, and Input::ReaderInternal.
|
protectedpure virtual |
Create storage of Type::Double type.
Implemented in Input::ReaderInternalTranspose, Input::ReaderInternalCsvInclude, and Input::ReaderInternal.
|
protectedpure virtual |
Create storage of Type::Integer type.
Implemented in Input::ReaderInternalTranspose, Input::ReaderInternalCsvInclude, and Input::ReaderInternal.
|
protected |
Create storage of Type::Record type. Common method of all descendants.
Definition at line 95 of file reader_internal_base.cc.
|
protectedpure virtual |
Create storage of Type::Selection type.
Implemented in Input::ReaderInternalTranspose, Input::ReaderInternalCsvInclude, and Input::ReaderInternal.
|
protectedpure virtual |
Create storage of Type::String type.
Implemented in Input::ReaderInternalTranspose, Input::ReaderInternalCsvInclude, and Input::ReaderInternal.
|
protected |
Create storage of Type::Tuple type. Common method of all descendants.
Definition at line 185 of file reader_internal_base.cc.
|
protected |
Read boolean value from path.
Definition at line 368 of file reader_internal_base.cc.

|
protected |
Read double value from path.
Definition at line 398 of file reader_internal_base.cc.

|
protected |
Read integer value from path.
Definition at line 383 of file reader_internal_base.cc.

|
protected |
Read string value from path.
Definition at line 413 of file reader_internal_base.cc.

|
protected |
Apply automatic conversion of Type::Record type.
Definition at line 260 of file reader_internal_base.cc.
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_ColumnIndex | , |
| unsigned int | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_ErrorAddress | , |
| string | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_File | , |
| const | string | ||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_Format | , |
| const | string | ||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_InputErrorMessage | , |
| const | string | ||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_InputType | , |
| string | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_JSON_Type | , |
| const | string | ||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_JSONColumn | , |
| unsigned int | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_JSONLine | , |
| unsigned int | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_JSONReason | , |
| string | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_RecordName | , |
| const | string | ||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_Specification | , |
| const | string | ||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_Tag | , |
| string | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_TokenizerMsg | , |
| std::string | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_TransposeAddress | , |
| string | |||
| ) |
| Input::ReaderInternalBase::TYPEDEF_ERR_INFO | ( | EI_TransposeIndex | , |
| unsigned int | |||
| ) |