blob: bab7153009d968c6730ca1ff1d42dbd88a6511e9 (
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
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
#include "i_docsum_field_writer_factory.h"
namespace search { class MatchingElementsFields; }
namespace search::docsummary {
class IDocsumEnvironment;
/*
* Factory class for creating docsum field writers.
*/
class DocsumFieldWriterFactory : public IDocsumFieldWriterFactory
{
bool _use_v8_geo_positions;
const IDocsumEnvironment& _env;
protected:
std::shared_ptr<MatchingElementsFields> _matching_elems_fields;
const IDocsumEnvironment& getEnvironment() const noexcept { return _env; }
bool has_attribute_manager() const noexcept;
public:
DocsumFieldWriterFactory(bool use_v8_geo_positions, const IDocsumEnvironment& env);
~DocsumFieldWriterFactory() override;
std::unique_ptr<DocsumFieldWriter> create_docsum_field_writer(const vespalib::string& fieldName, const vespalib::string& overrideName, const vespalib::string& argument, bool& rc) override;
};
}
|