JBoss Data Grid HotRod C++ Client  7.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ServerConfigurationBuilder.h
Go to the documentation of this file.
1 /*
2  * ServerConfigurationBuilder.h
3  *
4  * Created on: Jul 18, 2013
5  * Author: samuele
6  */
7 
8 #ifndef SERVERCONFIGURATIONBUILDER_H_
9 #define SERVERCONFIGURATIONBUILDER_H_
10 
11 #include <string>
13 #include "Builder.h"
14 #include "ServerConfiguration.h"
16 
17 namespace infinispan {
18 namespace hotrod {
27  : public Builder<ServerConfiguration>, public ConfigurationChildBuilder
28 {
29  public:
31  ConfigurationChildBuilder(builder_), m_host("localhost"), m_port(11222) {}
32 
33  /***
34  * Specifies host of remote HotRod server
35  *
36  * \return ServerConfigurationBuilder for further configuration
37  */
38  ServerConfigurationBuilder& host(const std::string &host_)
39  {
40  m_host = host_;
41  return *this;
42  }
43 
44  /***
45  * Specifies port of remote HotRod server
46  *
47  * \return ServerConfigurationBuilder for further configuration
48  */
50  {
51  m_port = port_;
52  return *this;
53  }
54 
55  /***
56  * Create ServerConfiguration instance from a given state of
57  * this ServerConfigurationBuilder
58  *
59  * \return created ServerConfiguration instance
60  */
62  {
63  return ServerConfiguration(m_host, m_port);
64  }
65 
66  /***
67  * Create ServerConfigurationBuilder from a given state of
68  * another ServerConfiguration instance
69  *
70  * \return ServerConfigurationBuilder for further configuration
71  */
73  {
74  m_host = configuration.getHostCString();
75  m_port = configuration.getPort();
76  return *this;
77  }
78 
79  private:
80  std::string m_host;
81  int m_port;
82 };
83 
84 
85 }} //namespace
86 
87 
88 #endif /* SERVERCONFIGURATIONBUILDER_H_ */
ServerConfigurationBuilder(ConfigurationBuilder &builder_)
Definition: ServerConfigurationBuilder.h:30
Definition: Builder.h:15
Definition: ServerConfigurationBuilder.h:26
ServerConfigurationBuilder & port(int port_)
Definition: ServerConfigurationBuilder.h:49
virtual ServerConfiguration create()
Definition: ServerConfigurationBuilder.h:61
const int & getPort() const
Definition: ServerConfiguration.h:52
const char * getHostCString() const
Definition: ServerConfiguration.h:42
ServerConfigurationBuilder & host(const std::string &host_)
Definition: ServerConfigurationBuilder.h:38
Definition: ConfigurationBuilder.h:27
Definition: ConfigurationChildBuilder.h:18
Definition: ServerConfiguration.h:24
virtual ServerConfigurationBuilder & read(ServerConfiguration &configuration)
Definition: ServerConfigurationBuilder.h:72