99
1010#include " parser/LiteralOrIri.h"
1111
12+ static constexpr NormalizedChar quote{' "' };
13+ static constexpr NormalizedChar at{' @' };
14+ static constexpr NormalizedChar hat{' ^' };
15+
1216namespace ad_utility ::triple_component {
1317// __________________________________________
1418Literal::Literal (NormalizedString content, size_t beginOfSuffix)
1519 : content_{std::move (content)}, beginOfSuffix_{beginOfSuffix} {
16- NormalizedChar quote{' "' };
17- NormalizedChar at{' @' };
18- NormalizedChar hat{' ^' };
1920 AD_CORRECTNESS_CHECK (content_.starts_with (quote));
2021 AD_CORRECTNESS_CHECK (beginOfSuffix_ >= 2 );
2122 AD_CORRECTNESS_CHECK (content_[beginOfSuffix_ - 1 ] == quote);
@@ -25,14 +26,10 @@ Literal::Literal(NormalizedString content, size_t beginOfSuffix)
2526}
2627
2728// __________________________________________
28- bool Literal::hasLanguageTag () const {
29- return getSuffix ().starts_with (NormalizedChar{' @' });
30- }
29+ bool Literal::hasLanguageTag () const { return getSuffix ().starts_with (at); }
3130
3231// __________________________________________
33- bool Literal::hasDatatype () const {
34- return getSuffix ().starts_with (NormalizedChar{' ^' });
35- }
32+ bool Literal::hasDatatype () const { return getSuffix ().starts_with (hat); }
3633
3734// __________________________________________
3835NormalizedStringView Literal::getContent () const {
@@ -60,9 +57,9 @@ NormalizedStringView Literal::getLanguageTag() const {
6057}
6158
6259// __________________________________________
63- Literal Literal::literalWithQuotes (
60+ Literal Literal::fromEscapedRdfLiteral (
6461 std::string_view rdfContentWithQuotes,
65- std::optional<std::variant<Iri, string>> descriptor) {
62+ std::optional<std::variant<Iri, std:: string>> descriptor) {
6663 NormalizedString content =
6764 RdfEscaping::normalizeLiteralWithQuotes (rdfContentWithQuotes);
6865
@@ -107,30 +104,30 @@ Literal Literal::literalWithNormalizedContent(
107104
108105// __________________________________________
109106void Literal::addLanguageTag (std::string_view languageTag) {
110- content_.push_back (NormalizedChar{ ' @ ' } );
107+ content_.push_back (at );
111108 content_.append (RdfEscaping::normalizeLanguageTag (languageTag));
112109}
113110
114111// __________________________________________
115112void Literal::addDatatype (const Iri& datatype) {
116113 content_.append (asNormalizedStringViewUnsafe (" ^^" ));
117114 content_.append (
118- asNormalizedStringViewUnsafe (datatype.toInternalRepresentation ()));
115+ asNormalizedStringViewUnsafe (datatype.toStringRepresentation ()));
119116}
120117
121118// __________________________________________
122- std::string_view Literal::toInternalRepresentation () const {
119+ std::string_view Literal::toStringRepresentation () const {
123120 return asStringViewUnsafe (content_);
124121}
125122
126123// __________________________________________
127- Literal Literal::fromInternalRepresentation (std::string_view input ) {
124+ Literal Literal::fromStringRepresentation (std::string_view internal ) {
128125 // TODO<joka921> This is a little dangerous as there might be quotes in the
129126 // IRI which might lead to unexpected results here.
130- AD_CORRECTNESS_CHECK (input .starts_with (' "' ));
131- auto endIdx = input .rfind (' "' );
127+ AD_CORRECTNESS_CHECK (internal .starts_with (' "' ));
128+ auto endIdx = internal .rfind (' "' );
132129 AD_CORRECTNESS_CHECK (endIdx > 0 );
133- return Literal{NormalizedString{asNormalizedStringViewUnsafe (input )},
130+ return Literal{NormalizedString{asNormalizedStringViewUnsafe (internal )},
134131 endIdx + 1 };
135132}
136133
0 commit comments