librcsb-core-wrapper  1.000
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DicFile Class Reference

Public class that represents a dictionary file, composed of blocks with tables. More...

#include <DicFile.h>

Inheritance diagram for DicFile:
Inheritance graph
Collaboration diagram for DicFile:
Collaboration graph

Public Member Functions

 DicFile (const eFileMode fileMode, const std::string &objFileName, const bool verbose=false, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE, const unsigned int maxLineLength=STD_CIF_LINE_LENGTH, const std::string &nullValue=CifString::UnknownValue)
 
 DicFile (const bool verbose=false, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE, const unsigned int maxLineLength=STD_CIF_LINE_LENGTH, const std::string &nullValue=CifString::UnknownValue)
 
 ~DicFile ()
 
void WriteItemAliases (const std::string &fileName)
 
ISTableGetFormatTable ()
 
int WriteFormatted (const std::string &cifFileName, ISTable *formatP=NULL)
 
int WriteFormatted (const std::string &cifFileName, TableFile *ddl, ISTable *formatP=NULL)
 
void Compress (CifFile *ddl)
 
CifFileGetRefFile ()
 
- Public Member Functions inherited from CifFile
 CifFile (const eFileMode fileMode, const std::string &fileName, const bool verbose=false, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE, const unsigned int maxLineLength=STD_CIF_LINE_LENGTH, const std::string &nullValue=CifString::UnknownValue)
 
 CifFile (const bool verbose=false, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE, const unsigned int maxLineLength=STD_CIF_LINE_LENGTH, const std::string &nullValue=CifString::UnknownValue)
 
 ~CifFile ()
 
void SetSrcFileName (const std::string &srcFileName)
 
const std::string & GetSrcFileName ()
 
bool GetVerbose ()
 
void SetSmartPrint (bool smartPrint=true)
 
bool IsSmartPrint ()
 
void SetQuoting (eQuoting quoting)
 
unsigned int GetQuoting ()
 
void SetLooping (const std::string &catName, bool looping=false)
 
bool GetLooping (const std::string &catName)
 
void Write (const std::string &cifFileName, const bool sortTables=false, const bool writeEmptyTables=false)
 
void Write (const std::string &cifFileName, const std::vector< std::string > &tableOrder, const bool writeEmptyTables=false)
 
void Write (std::ostream &outStream, const bool sortTables=false, const bool writeEmptyTables=false)
 
void WriteNmrStar (const std::string &nmrStarFileName, const std::string &globalBlockName, const bool sortTables=false, const bool writeEmptyTables=false)
 
int DataChecking (CifFile &dicRef, const std::string &diagFileName, const bool extraChecks=false)
 
int DataChecking (Block &block, Block &refBlock, std::ostringstream &buf, const bool extraChecks=false)
 
void SetEnumCheck (bool caseSense=false)
 
bool GetEnumCheck ()
 
const std::string & GetParsingDiags ()
 
void FindCifNullRows (std::vector< unsigned int > &nullRowsIndices, const ISTable &isTable)
 
void GetAttributeValue (std::string &attribVal, const std::string &blockId, const std::string &category, const std::string &attribute)
 
void GetAttributeValueIf (std::string &attribVal, const std::string &blockId, const std::string &category, const std::string &attributeA, const std::string &attributeB, const std::string &valB)
 
bool IsAttributeValueDefined (const std::string &blockId, const std::string &category, const std::string &attribute)
 
void SetAttributeValue (const std::string &blockId, const std::string &category, const std::string &attribute, const std::string &value, const bool create=false)
 
void SetAttributeValueIf (const std::string &blockId, const std::string &category, const std::string &attributeA, const std::string &valA, const std::string &attributeB, const std::string &valB, const bool create=false)
 
void SetAttributeValueIfNull (const std::string &blockId, const std::string &category, const std::string &attribute, const std::string &value)
 
void GetAttributeValues (std::vector< std::string > &strings, const std::string &blockId, const std::string &category, const std::string &attribute)
 
void GetAttributeValuesIf (std::vector< std::string > &strings, const std::string &blockId, const std::string &category, const std::string &attributeA, const std::string &attributeB, const std::string &valB)
 
void SetAttributeValues (const std::string &blockId, const std::string &category, const std::string &attribute, const std::vector< std::string > &values)
 
int CheckCategories (Block &block, Block &refBlock, std::ostringstream &log)
 
void CheckCategoryKey (Block &block, std::ostringstream &log)
 
void CheckItemsTable (Block &block, std::ostringstream &log)
 
int CheckItems (Block &block, Block &refBlock, std::ostringstream &log)
 
- Public Member Functions inherited from TableFile
 TableFile (const Char::eCompareType caseSense=Char::eCASE_SENSITIVE)
 
 TableFile (const eFileMode fileMode, const string &fileName, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE)
 
virtual ~TableFile ()
 
string GetFileName (void)
 
eFileMode GetFileMode (void)
 
Char::eCompareType GetCaseSensitivity (void)
 
unsigned int GetStatusInd (void)
 
unsigned int GetNumBlocks ()
 
void GetBlockNames (vector< string > &blockNames)
 
string GetFirstBlockName ()
 
bool IsBlockPresent (const string &blockName)
 
string AddBlock (const string &blockName)
 
BlockGetBlock (const string &blockName)
 
string RenameBlock (const string &oldBlockName, const string &newBlockName)
 
string RenameFirstBlock (const string &newBlockName)
 
void Flush ()
 
void Serialize (const string &fileName)
 
void Close ()
 

Protected Member Functions

int WriteFormatted (std::ostream &cifo, ISTable *formatP)
 
int WriteFormatted (std::ostream &cifo, TableFile *ddl, ISTable *formatP)
 
void WriteItemAliases (std::ostream &cifo)
 
- Protected Member Functions inherited from CifFile
int _IsQuotableText (const std::string &itemValue)
 
eIdentType _FindPrintType (const std::vector< std::string > &values)
 
void _PrintItemIdent (std::ostream &cifo, unsigned int &linePos)
 
void _PrintItemName (std::ostream &cifo, const std::string &category, const std::string &itemName, unsigned int &linePos)
 
void _PrintPostItemSeparator (std::ostream &cifo, unsigned int &linePos, const bool ident=false, const unsigned int numSpaces=1)
 
int _PrintItemValue (std::ostream &cifo, const std::string &itemValue, unsigned int &linePos, const eIdentType identType=eNONE, const unsigned int width=0)
 
int _PrintItemNameInHeader (std::ostream &cifo, const std::string &itemValue, unsigned int &linePos, const eIdentType identType=eNONE, const unsigned int width=0)
 
void _PrintHeaderedItems (std::ostream &cifo, const std::vector< std::string > &colNames, const std::vector< unsigned int > &colWidths, const std::vector< eIdentType > colPrintType)
 
void Write (std::ostream &cifo, const std::vector< std::string > &catOrder, const bool writeEmptyTables=false)
 
void Write (std::ostream &cifo, std::vector< unsigned int > &tables, const bool writeEmptyTables=false)
 
- Protected Member Functions inherited from TableFile
void _SetStatusInd (const string &blockName)
 
void _AddBlock (const string &blockName, Serializer *serP)
 
void _GetNumTablesInBlocks (vector< UInt32 > &numTablesInBlocks)
 
ISTable_GetTablePtr (const unsigned int blockIndex, const unsigned int tableIndex)
 
void _GetAllTables ()
 
unsigned int GetTotalNumTables ()
 
void GetTableNames (vector< string > &tableNames)
 
void GetTablesIndices (vector< unsigned int > &tablesIndices)
 
void GetSortedTablesIndices (vector< unsigned int > &tablesIndices)
 
void _ReadFileIndex ()
 
void _ReadFileIndexVersion0 ()
 
void _ReadFileIndexVersion1 ()
 
void _WriteFileIndex (Serializer *serP, const vector< unsigned int > &tableLocs)
 

Protected Attributes

ISTable_formatP
 
- Protected Attributes inherited from CifFile
std::string _beginDataKeyword
 
std::string _endDataKeyword
 
std::string _beginLoopKeyword
 
std::string _endLoopKeyword
 
unsigned int _maxCifLineLength
 
std::string _nullValue
 
bool _verbose
 
bool _smartPrint
 
std::string _quotes
 
std::map< std::string, bool > _looping
 
bool _enumCaseSense
 
- Protected Attributes inherited from TableFile
string _fileName
 
eFileMode _fileMode
 
Char::eCompareType _caseSense
 
unsigned int _statusInd
 
mapped_ptr_vector< Block,
StringLess
_blocks
 
Serializer_f
 

Additional Inherited Members

- Public Types inherited from CifFile
enum  eQuoting { eSINGLE = 0, eDOUBLE }
 
- Public Attributes inherited from CifFile
std::string _parsingDiags
 
std::string _checkingDiags
 
- Static Public Attributes inherited from CifFile
static const unsigned int STD_CIF_LINE_LENGTH = 80
 
- Protected Types inherited from CifFile
enum  eIdentType { eNONE = 0, eLEFT, eRIGHT }
 
- Static Protected Attributes inherited from CifFile
static const unsigned int STD_PRINT_SPACING = 3
 
static const unsigned int SMART_PRINT_SPACING = 1
 
static const unsigned int HEADER_SPACING = 40
 

Detailed Description

Public class that represents a dictionary file, composed of blocks with tables.

This class represents a dictionary file. In addition to inherited methods from CifFile class, this class provides a method for writing the content of "item_aliases" table to a text file.

Constructor & Destructor Documentation

DicFile::DicFile ( const eFileMode  fileMode,
const std::string &  objFileName,
const bool  verbose = false,
const Char::eCompareType  caseSense = Char::eCASE_SENSITIVE,
const unsigned int  maxLineLength = STD_CIF_LINE_LENGTH,
const std::string &  nullValue = CifString::UnknownValue 
)

Constructs a dictionary file.

Parameters
[in]fileMode- dictionary file mode. Possible values are read-only, create, update and virtual. Detailed description of file mode is given in TableFile documentation.
[in]fileName- relative or absolute name of the file where object persistency is maintained. If fileMode specifies virtual mode, this parameter is ignored.
[in]verbose- optional parameter that indicates whether logging should be turned on (if true) or off (if false). If verbose is not specified, logging is turned off.
[in]caseSense- optional parameter that indicates case sensitivity of table names. Possible values are case sensitive and case in-sensitive. If not specified, case sensitive table names are assumed.
[in]maxLineLength- optional parameter that indicates the maximum number of written characters in one line in the written text file. If not specified, STD_CIF_LINE_LENGTH is used.
[in]nullValue- optional parameter that indicates the character that is to be used to denote unknown value in the written CIF file. If not specified, CifString::UnknownValue is used.
Returns
Not applicable
Precondition
None
Postcondition
None
Exceptions
None
DicFile::DicFile ( const bool  verbose = false,
const Char::eCompareType  caseSense = Char::eCASE_SENSITIVE,
const unsigned int  maxLineLength = STD_CIF_LINE_LENGTH,
const std::string &  nullValue = CifString::UnknownValue 
)

Constructs a dictionary file in virtual mode.

Parameters
[in]verbose- optional parameter that indicates whether logging should be turned on (if true) or off (if false). If verbose is not specified, logging is turned off.
[in]caseSense- optional parameter that indicates case sensitivity of table names. Possible values are case sensitive and case in-sensitive. If not specified, case sensitive table names are assumed.
[in]maxLineLength- optional parameter that indicates the maximum number of written characters in one line in the written text file. If not specified, STD_CIF_LINE_LENGTH is used.
[in]nullValue- optional parameter that indicates the character that is to be used to denote unknown value in the written CIF file. If not specified, CifString::UnknownValue is used.
Returns
Not applicable
Precondition
None
Postcondition
None
Exceptions
None
DicFile::~DicFile ( )

Destructs a dictionary file, by releasing all consumed resources.

Parameters
Not applicable
Returns
Not applicable
Precondition
None
Postcondition
None
Exceptions
None

Member Function Documentation

void DicFile::Compress ( CifFile ddl)

Method, not currently part of users public API, and will soon be re-examined.

ISTable* DicFile::GetFormatTable ( )

Method, not currently part of users public API, and will soon be re-examined.

CifFile* DicFile::GetRefFile ( )
int DicFile::WriteFormatted ( const std::string &  cifFileName,
ISTable formatP = NULL 
)

Method, not currently part of users public API, and will soon be re-examined.

int DicFile::WriteFormatted ( const std::string &  cifFileName,
TableFile ddl,
ISTable formatP = NULL 
)

Method, not currently part of users public API, and will soon be re-examined.

int DicFile::WriteFormatted ( std::ostream &  cifo,
ISTable formatP 
)
protected
int DicFile::WriteFormatted ( std::ostream &  cifo,
TableFile ddl,
ISTable formatP 
)
protected
void DicFile::WriteItemAliases ( const std::string &  fileName)

Writes the content of "item_aliases" table to a text file.

Parameters
[in]fileName- relative or absolute name of the text file to which the content of "item_aliases" table is to be written to.
Returns
None
Precondition
None
Postcondition
None
Exceptions
None
void DicFile::WriteItemAliases ( std::ostream &  cifo)
protected

Member Data Documentation

ISTable* DicFile::_formatP
protected

The documentation for this class was generated from the following file: