LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
LinguisticMetaData.cpp
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6/***************************************************************************
7 * Copyright (C) 2004-2012 by CEA LIST *
8 * *
9 ***************************************************************************/
10#include "LinguisticMetaData.h"
11
12#include <QDate>
13
14namespace Lima {
15
16namespace LinguisticProcessing {
17
22
23
27
28bool LinguisticMetaData::hasMetaData(const std::string& id) const
29{
30 return (m_metaData.find(id)!=m_metaData.end());
31}
32
33const std::string& LinguisticMetaData::getMetaData(const std::string& id) const
34{
35 std::map<std::string,std::string>::const_iterator it=m_metaData.find(id);
36 if (it==m_metaData.end())
37 {
38 throw LinguisticProcessingException( std::string("metadata [" + id + "] not found.") );
39 }
40 return it->second;
41}
42const std::map<std::string,std::string>& LinguisticMetaData::getAllMetaData(void) const
43{
44 return m_metaData;
45}
46
47void LinguisticMetaData::setMetaData(const std::string& id,const std::string& value)
48{
49 m_metaData[id]=value;
50}
51
52void LinguisticMetaData::setMetaData(const std::map<std::string,std::string>& metaDatas)
53{
54 m_metaData=metaDatas;
55}
56
58{ return m_startOffset; }
59
60void LinguisticMetaData::setStartOffset(uint64_t startOffset)
61{ m_startOffset=startOffset;}
62
64getDate(const std::string& dateName) const
65{
66 static QDate noDate;
67 std::map<std::string,QDate>::const_iterator
68 d=m_dates.find(dateName);
69 if (d==m_dates.end()) {
70 return noDate;
71 }
72 return (*d).second;
73}
75getTime(const std::string& timeName) const
76{
77 static QTime noTime;
78 std::map<std::string,QTime>::const_iterator
79 t=m_times.find(timeName);
80 if (t==m_times.end()) {
81 return noTime;
82 }
83 return (*t).second;
84}
85
86const std::string& LinguisticMetaData::
87getLocation(const std::string& locName) const
88{
89 static std::string noLoc;
90 std::map<std::string,std::string>::const_iterator
91 l=m_locations.find(locName);
92 if (l==m_locations.end()) {
93 return noLoc;
94 }
95 return (*l).second;
96}
97
99setDate(const std::string& dateName,
100 const QDate& d)
101{
102 m_dates[dateName]=d;
103}
105setTime(const std::string& timeName,
106 const QTime& t)
107{
108 m_times[timeName]=t;
109}
111setLocation(const std::string& locName,
112 const std::string& loc)
113{
114 m_locations[locName]=loc;
115}
116
117
118} // LinguisticProcessing
119} // Lima
just for semantics: base class for analysisData
const QTime & getTime(const std::string &timeName) const
void setLocation(const std::string &locName, const std::string &)
const std::map< std::string, std::string > & getAllMetaData(void) const
void setTime(const std::string &timeName, const QTime &)
const QDate & getDate(const std::string &dateName) const
bool hasMetaData(const std::string &id) const
void setMetaData(const std::string &id, const std::string &value)
const std::string & getLocation(const std::string &locName) const
const std::string & getMetaData(const std::string &id) const
void setDate(const std::string &dateName, const QDate &)
NAUTITIA.