aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/vespa/document/datatype/annotationreferencedatatype.cpp
blob: ff627f37012671f334d684d0e2a4c3fc08b48662 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#include "annotationreferencedatatype.h"
#include <vespa/document/fieldvalue/annotationreferencefieldvalue.h>
#include <ostream>
#include <cassert>

using std::unique_ptr;
using std::ostream;

namespace document {

AnnotationReferenceDataType::AnnotationReferenceDataType(const AnnotationType &type, int id)
    : DataType("annotationreference<" + type.getName() + ">", id),
      _type(&type) {
}

AnnotationReferenceDataType::~AnnotationReferenceDataType() = default;

const AnnotationType &
AnnotationReferenceDataType::getAnnotationType() const {
    assert(_type);
    return *_type;
}

void
AnnotationReferenceDataType::print(ostream &out, bool, const std::string &) const {
    out << "AnnotationReferenceDataType("<< getName() << ", " << getId() << ")";
}

unique_ptr<FieldValue>
AnnotationReferenceDataType::createFieldValue() const {
    return std::make_unique<AnnotationReferenceFieldValue>(*this, 0);
}

void AnnotationReferenceDataType::onBuildFieldPath(FieldPath &, vespalib::stringref) const { }


}  // namespace document