Loading...
Searching...
No Matches
BALL::JCAMPFile Class Reference
Molecular Modeling » File Formats » NMR File Formats

`#include <BALL/FORMAT/JCAMPFile.h>`

Inheritance diagram for BALL::JCAMPFile:

## Classes

class | JCAMPValue

## Public Types

enum | ContentType { STRING , NUMERIC , ARRAY }
typedef std::pair< String, JCAMPValue > | KeyValuePair
| a key-value pair
typedef StringHashMap< JCAMPValue > | EntryMap
| A hash map containing the JCAMP entries.
typedef StringHashMap< String > | HeaderMap
| A hash map containing the header entries.
Public Types inherited from BALL::File
typedef std::ios::openmode | OpenMode
enum | Transformation { TRANSFORMATION__EXEC = 1 , TRANSFORMATION__FILTER = 2 , TRANSFORMATION__URL = 3 }
enum | Type { TYPE__UNKNOWN = 0 , TYPE__DIRECTORY = 1 , TYPE__CHAR_SPECIAL_FILE = 2 , TYPE__BLOCK_SPECIAL_FILE = 3 , TYPE__REGULAR_FILE = 4 , TYPE__SYMBOLIC_LINK = 5 , TYPE__SOCKET = 6 , TYPE__FIFO_SPECIAL_FILE = 7 }

## Public Member Functions

Constructors and Destructors
| JCAMPFile ()
| JCAMPFile (const String &name, OpenMode open_mode=std::ios::in)
virtual | ~JCAMPFile ()
Accessors
void | read ()
bool | write ()
HeaderMap & | getHeader ()
const HeaderMap & | getHeader () const
EntryMap & | getEntries ()
const EntryMap & | getEntries () const
const JCAMPValue & | operator[] (const String &name) const
double | getDoubleValue (const String &name) const
Index | getIntValue (const String &name) const
bool | hasEntry (const String &name) const
bool | hasHeader (const String &name) const
const JCAMPFile & | operator= (const JCAMPFile &file)
Public Member Functions inherited from BALL::LineBasedFile
| LineBasedFile ()
| Default constructor.
| LineBasedFile (const String &filename, File::OpenMode open_mode=std::ios::in, bool trim_whitespaces=false)
void | clear ()
bool | operator== (const LineBasedFile &f)
bool | operator!= (const LineBasedFile &f)
const LineBasedFile & | operator= (const LineBasedFile &file)
Position | getLineNumber () const
| Get the last line number in the file.
const String & | getLine () const
| Return the current line.
String & | getLine ()
| Return the current line.
bool | readLine ()
bool | skipLines (Size number=1)
bool | search (const String &text, bool return_to_start=false)
bool | search (const String &text, const String &stop, bool return_to_start=false)
bool | gotoLine (Position line_number)
void | rewind ()
void | test (const char *file, int line, bool condition, const String &msg) const
String | getField (Index pos=0, const String &quotes="", const String &delimiters=String::CHARACTER_CLASS__WHITESPACE) const
bool | startsWith (const String &text) const
| Test if the current line starts with text.
bool | has (const String &text) const
| Return true if the current line contains text.
Index | switchString (const std::vector< String > &data) const
bool | parseColumnFormat (const char *format, Position index, Size length, void *arg)
void | enableTrimWhitespaces (bool state)
| Set wheter leading and trailing whitespaces in lines shall be removed.
bool | trimWhiteSpacesEnabled () const
Public Member Functions inherited from BALL::File
| File ()
| File (const String &name, OpenMode open_mode=std::ios::in)
virtual | ~File ()
bool | isValid () const
bool | open (const String &name, File::OpenMode open_mode=std::ios::in)
bool | reopen ()
bool | reopen (File::OpenMode open_mode)
void | close ()
const String & | getName () const
void | setName (const String &name)
const String & | getOriginalName () const
Size | getSize ()
File::OpenMode | getOpenMode () const
Type | getType (bool trace_link) const
bool | copyTo (const String &destination_name, Size buffer_size=4096)
bool | moveTo (const String &destination_name)
bool | remove ()
bool | renameTo (const String &new_path)
bool | truncate (Size size=0)
std::fstream & | getFileStream ()
TransformationManager & | getTransformationManager ()
const TransformationManager & | getTransformationManager () const
bool | operator== (const File &file) const
bool | operator!= (const File &file) const
bool | isOpen () const
bool | isClosed () const
bool | isAccessible () const
bool | isCanonized () const
bool | isReadable () const
bool | isWritable () const
bool | isExecutable () const

## Equality operators

HeaderMap | header_
| Entries from the header section.
EntryMap | entries_
| Entries from the key-value section.
bool | operator== (const JCAMPFile &f) const
bool | operator!= (const JCAMPFile &f) const

## Additional Inherited Members

static Size | getSize (String name)
static Type | getType (String name, bool trace_link)
static bool | copy (String source_name, String destination_name, Size buffer_size=4096)
static bool | move (const String &source_name, const String &destination_name)
static bool | remove (String name)
static bool | rename (String old_path, String new_path)
static bool | truncate (String path, Size size=0)
static bool | createTemporaryFilename (String &temporary, const String &suffix=".TMP")
static void | enableTransformation (Transformation transformation)
static void | disableTransformation (Transformation transformation)
static bool | isTransformationEnabled (Transformation transformation)
static void | registerTransformation (const String &pattern, const String &exec)
static void | unregisterTransformation (const String &pattern)
static bool | isAccessible (String name)
static bool | isReadable (String name)
static bool | isWritable (String name)
static bool | isExecutable (String name)
Static Public Attributes inherited from BALL::File
static const OpenMode | MODE_IN
| Open for input (default).
static const OpenMode | MODE_OUT
| Open for output.
static const OpenMode | MODE_APP
| Append. Seek to end before each write operation.
static const OpenMode | MODE_BINARY
| Binary mode.
static const OpenMode | MODE_ATE
| Seek to end directly after opening.
static const OpenMode | MODE_TRUNC
| Truncate an existing file.
static const String | TRANSFORMATION_EXEC_PREFIX
| Prefix for filenames that are created through the execution of commands "exec:".
static const String | TRANSFORMATION_FILE_PREFIX
| Prefix for files (to mimick URL-like behavior) "file:".
static const String | TRANSFORMATION_FTP_PREFIX
| Prefix for FTP-transfers "ftp://".
static const String | TRANSFORMATION_HTTP_PREFIX
| Prefix for HTTP-transfer "http://".
String | line_
| buffer for the line in use
Position | line_number_
| line number in the file
bool | trim_whitespaces_
vector< char > | col_buffer_
| buffer for column parsing
String | name_
String | original_name_
OpenMode | open_mode_
bool | is_open_
bool | is_temporary_
static HashSet< String > | created_temp_filenames_
static TransformationManager | transformation_manager_
static Size | transformation_methods_

## Detailed Description

JCAMP file class. This class parses JCAMP files, which are often used to store parameter files in spectroscopy (NMR, IR, MS), e.g. in Bruker instruments.

  This class has rudimentary support for the format only. The most severe drawback currently is the lack of support for writing JCAMP files.

Definition at line 28 of file JCAMPFile.h.

## Member Typedef Documentation

## EntryMap

typedef StringHashMap<JCAMPValue> BALL::JCAMPFile::EntryMap

A hash map containing the JCAMP entries.

Definition at line 69 of file JCAMPFile.h.

## HeaderMap

typedef StringHashMap<String> BALL::JCAMPFile::HeaderMap

A hash map containing the header entries.

Definition at line 72 of file JCAMPFile.h.

## KeyValuePair

typedef std::pair<String, JCAMPValue> BALL::JCAMPFile::KeyValuePair

a key-value pair

Definition at line 66 of file JCAMPFile.h.

## Member Enumeration Documentation

## ContentType

enum BALL::JCAMPFile::ContentType

Type definitions

Enumerator
STRING |
NUMERIC |
ARRAY |

Definition at line 37 of file JCAMPFile.h.

## Constructor & Destructor Documentation

## JCAMPFile() [1/2]

BALL::JCAMPFile::JCAMPFile | ( |  | ) |

inline

Default constructor

Definition at line 81 of file JCAMPFile.h.

## JCAMPFile() [2/2]

BALL::JCAMPFile::JCAMPFile | ( | const String & | name,
|  | OpenMode | open_mode = std::ios::in )

Detailed constructor

Exceptions

  Exception::FileNotFound | if the file could not be opened

## ~JCAMPFile()

virtual BALL::JCAMPFile::~JCAMPFile | ( |  | ) |

inline virtual

Destructor

Definition at line 90 of file JCAMPFile.h.

## Member Function Documentation

## getDoubleValue()

double BALL::JCAMPFile::getDoubleValue | ( | const String & | name | ) | const

Return a double value for key name

Exceptions

  Exception::InvalidFormat | if the value is not a floating point number

## getEntries() [1/2]

EntryMap & BALL::JCAMPFile::getEntries | ( |  | ) |

inline

Definition at line 114 of file JCAMPFile.h.

## getEntries() [2/2]

const EntryMap & BALL::JCAMPFile::getEntries | ( |  | ) | const

inline

Definition at line 117 of file JCAMPFile.h.

## getHeader() [1/2]

HeaderMap & BALL::JCAMPFile::getHeader | ( |  | ) |

inline

Definition at line 108 of file JCAMPFile.h.

## getHeader() [2/2]

const HeaderMap & BALL::JCAMPFile::getHeader | ( |  | ) | const

inline

Definition at line 111 of file JCAMPFile.h.

## getIntValue()

Index BALL::JCAMPFile::getIntValue | ( | const String & | name | ) | const

Return an int value for key name

Exceptions

  Exception::InvalidFormat | if the value is not convertible to an int

## hasEntry()

bool BALL::JCAMPFile::hasEntry | ( | const String & | name | ) | const

inline

Definition at line 133 of file JCAMPFile.h.

## hasHeader()

bool BALL::JCAMPFile::hasHeader | ( | const String & | name | ) | const

inline

Definition at line 136 of file JCAMPFile.h.

## operator!=()

bool BALL::JCAMPFile::operator!= | ( | const JCAMPFile & | f | ) | const

Inequality operator

## operator=()

const JCAMPFile & BALL::JCAMPFile::operator= | ( | const JCAMPFile & | file | ) |

## operator==()

bool BALL::JCAMPFile::operator== | ( | const JCAMPFile & | f | ) | const

Equality operator

## operator[]()

const JCAMPValue & BALL::JCAMPFile::operator[] | ( | const String & | name | ) | const

inline

Definition at line 120 of file JCAMPFile.h.

## read()

void BALL::JCAMPFile::read | ( |  | ) |

Read the file.

Exceptions

  Exception::ParseError | if a syntax error was encountered

## write()

bool BALL::JCAMPFile::write | ( |  | ) |

Write the file.

Exceptions

  File::CannotWrite | if writing to the file failed

## Member Data Documentation

## entries_

EntryMap BALL::JCAMPFile::entries_

protected

Entries from the key-value section.

Definition at line 162 of file JCAMPFile.h.

## header_

HeaderMap BALL::JCAMPFile::header_

protected

Entries from the header section.

Definition at line 159 of file JCAMPFile.h.