NeoCpp
libneo4j_factory.h
1 /*
2 Apache 2.0 License
3 
4 Copyright 2018 Alex Barry
5 
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17 */
18 
19 #include <string>
20 #include "neocpp/connection/interface/neo4j_interface.h"
21 #include "neocpp/connection/interface/neo4j_tls_config.h"
22 #include "neocpp/connection/impl/neo4j_admin.h"
23 #include "neocpp/data/interface/query_parameter_interface.h"
24 #include "neocpp/data/impl/neo4j_query_parameter.h"
25 
26 #ifndef NEOCPP_CONNECTION_INTERFACE_LIBNEO4J_FACTORY_H_
27 #define NEOCPP_CONNECTION_INTERFACE_LIBNEO4J_FACTORY_H_
28 
29 namespace Neocpp {
30 
32 
37  public:
40 
43 
45  inline Neo4jInterface* get_neo4j_interface(const char * conn_string) {
46  return new Neo4jAdmin(conn_string);
47  }
48 
50  inline Neo4jInterface* get_neo4j_interface(std::string conn_string) {
51  return new Neo4jAdmin(conn_string);
52  }
53 
55  inline Neo4jInterface* get_neo4j_interface(const char * conn_str, \
56  int pool_size) {
57  return new Neo4jAdmin(conn_str, pool_size);
58  }
59 
61  inline Neo4jInterface* get_neo4j_interface(std::string conn_str, \
62  int pool_size) {
63  return new Neo4jAdmin(conn_str, pool_size);
64  }
65 
67  inline Neo4jInterface* get_neo4j_interface(const char * conn_str, \
68  int pool_size, int pstart_size, int pbatch) {
69  return new Neo4jAdmin(conn_str, pool_size, pstart_size, pbatch);
70  }
71 
73  inline Neo4jInterface* get_neo4j_interface(std::string conn_str, \
74  int pool_size, int pstart_size, int pbatch) {
75  return new Neo4jAdmin(conn_str, pool_size, pstart_size, pbatch);
76  }
77 
79  inline Neo4jInterface* get_neo4j_interface(const char * conn_string, \
80  Neo4jTlsConfig *tls_config) {
81  return new Neo4jAdmin(conn_string, tls_config);
82  }
83 
85  inline Neo4jInterface* get_neo4j_interface(std::string conn_string, \
86  Neo4jTlsConfig *tls_config) {
87  return new Neo4jAdmin(conn_string, tls_config);
88  }
89 
91  inline Neo4jInterface* get_neo4j_interface(const char * conn_str, \
92  int pool_size, Neo4jTlsConfig *tls_config) {
93  return new Neo4jAdmin(conn_str, pool_size, tls_config);
94  }
95 
97  inline Neo4jInterface* get_neo4j_interface(std::string conn_str, \
98  int pool_size, Neo4jTlsConfig *tls_config) {
99  return new Neo4jAdmin(conn_str, pool_size, tls_config);
100  }
101 
103  inline Neo4jInterface* get_neo4j_interface(const char * conn_str, \
104  int pool_size, int pstart_size, int pbatch, Neo4jTlsConfig *tls_config) {
105  return new Neo4jAdmin(conn_str, pool_size, pstart_size, pbatch, tls_config);
106  }
107 
109  inline Neo4jInterface* get_neo4j_interface(std::string conn_str, \
110  int pool_size, int pstart_size, int pbatch, Neo4jTlsConfig *tls_config) {
111  return new Neo4jAdmin(conn_str, pool_size, pstart_size, pbatch, tls_config);
112  }
113 
116  return new Neo4jQueryParameter();
117  }
118 
122  return new Neo4jQueryParameter(inp_bool);
123  }
124 
127  get_neo4j_query_parameter(std::string inp_str) {
128  return new Neo4jQueryParameter(inp_str);
129  }
130 
133  get_neo4j_query_parameter(const char * inp_str) {
134  return new Neo4jQueryParameter(inp_str);
135  }
136 
139  return new Neo4jQueryParameter(inp_int);
140  }
141 
144  get_neo4j_query_parameter(double inp_double) {
145  return new Neo4jQueryParameter(inp_double);
146  }
147 
149 
152  inline Neo4jTlsConfig* get_neo4j_tls_configuration() {
153  return new Neo4jTlsConfig();
154  }
155 };
156 
157 } // namespace Neocpp
158 
159 #endif // NEOCPP_CONNECTION_INTERFACE_LIBNEO4J_FACTORY_H_
Neo4jInterface * get_neo4j_interface(const char *conn_str, int pool_size)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:55
The libneo4j-client Factory.
Definition: libneo4j_factory.h:36
Neo4jInterface * get_neo4j_interface(const char *conn_str, int pool_size, int pstart_size, int pbatch, Neo4jTlsConfig *tls_config)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:103
LibNeo4jFactory()
Create a new Service Component Factory.
Definition: libneo4j_factory.h:39
Neo4jInterface * get_neo4j_interface(const char *conn_str, int pool_size, Neo4jTlsConfig *tls_config)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:91
~LibNeo4jFactory()
Delete a Service Component Factory.
Definition: libneo4j_factory.h:42
Neo4jInterface * get_neo4j_interface(const char *conn_string)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:45
Neo4jInterface * get_neo4j_interface(const char *conn_string, Neo4jTlsConfig *tls_config)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:79
Neo4jInterface * get_neo4j_interface(std::string conn_str, int pool_size, Neo4jTlsConfig *tls_config)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:97
Neo4jInterface * get_neo4j_interface(std::string conn_string, Neo4jTlsConfig *tls_config)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:85
Neo4jInterface * get_neo4j_interface(std::string conn_str, int pool_size)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:61
Neo4jInterface * get_neo4j_interface(std::string conn_str, int pool_size, int pstart_size, int pbatch)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:73
Neo4jTlsConfig * get_neo4j_tls_configuration()
Get a TLS Configuration Object.
Definition: libneo4j_factory.h:152
Neo4jInterface * get_neo4j_interface(std::string conn_str, int pool_size, int pstart_size, int pbatch, Neo4jTlsConfig *tls_config)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:109
Neo4jQueryParameterInterface * get_neo4j_query_parameter()
Get a Neo4j Array Query Parameter.
Definition: libneo4j_factory.h:115
Neo4jQueryParameterInterface * get_neo4j_query_parameter(int inp_int)
Get a Neo4j Query Parameter.
Definition: libneo4j_factory.h:138
Definition: neo4j_interface.h:28
Neo4j Query Interface.
Definition: neo4j_interface.h:35
Neo4j Query Parameter Interface.
Definition: query_parameter_interface.h:32
Neo4jInterface * get_neo4j_interface(std::string conn_string)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:50
Neo4jInterface * get_neo4j_interface(const char *conn_str, int pool_size, int pstart_size, int pbatch)
Get a Neo4j Interface instance.
Definition: libneo4j_factory.h:67