strus  0.17
storageObjectBuilderInterface.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Patrick P. Frey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
10 #ifndef _STRUS_STORAGE_OBJECT_BUILDER_INTERFACE_HPP_INCLUDED
11 #define _STRUS_STORAGE_OBJECT_BUILDER_INTERFACE_HPP_INCLUDED
12 #include <string>
13 
14 namespace strus
15 {
16 
18 class DatabaseInterface;
20 class StorageClientInterface;
22 class StorageInterface;
24 class QueryEvalInterface;
26 class QueryProcessorInterface;
28 class StorageAlterMetaDataTableInterface;
30 class StatisticsProcessorInterface;
32 class VectorStorageInterface;
33 
36 {
37 public:
40 
43  virtual const StorageInterface* getStorage() const=0;
44 
48  virtual const DatabaseInterface* getDatabase( const std::string& name) const=0;
49 
52  virtual const QueryProcessorInterface* getQueryProcessor() const=0;
53 
56  virtual const StatisticsProcessorInterface* getStatisticsProcessor( const std::string& name) const=0;
57 
60  virtual const VectorStorageInterface* getVectorStorage( const std::string& name) const=0;
61 
64  virtual QueryEvalInterface* createQueryEval() const=0;
65 };
66 
67 }//namespace
68 #endif
69 
Defines a query evaluation scheme.
Definition: queryEvalInterface.hpp:31
virtual ~StorageObjectBuilderInterface()
Destructor.
Definition: storageObjectBuilderInterface.hpp:39
Interface providing a mechanism to create complex multi component objects for the storage and the que...
Definition: storageObjectBuilderInterface.hpp:35
virtual const StorageInterface * getStorage() const =0
Get the storage interface.
virtual const DatabaseInterface * getDatabase(const std::string &name) const =0
Get the database interface by name.
virtual const StatisticsProcessorInterface * getStatisticsProcessor(const std::string &name) const =0
Get the statistics processor interface.
Interface to the create and alter a storage for strus.
Definition: storageInterface.hpp:29
virtual QueryEvalInterface * createQueryEval() const =0
Creates a an interface for query evaluation.
Interface for storing an retrieving vectors of floating point numbers representing word embeddings...
Definition: vectorStorageInterface.hpp:27
virtual const QueryProcessorInterface * getQueryProcessor() const =0
Get the query processor interface.
Defines all object instances involved in query evaluation addressable by name.
Definition: queryProcessorInterface.hpp:27
Interface to the create,destroy the key value store database.
Definition: databaseInterface.hpp:22
virtual const VectorStorageInterface * getVectorStorage(const std::string &name) const =0
Get a vectorspace model for mapping vectors to features by name.
Interface for packing/unpacking messages with statistics used for query evaluation.
Definition: statisticsProcessorInterface.hpp:24