/builddir/build/BUILD/infinispan-hotrod-cpp-6.2.1.Final-Source/include/infinispan/hotrod/ServerConfigurationBuilder.h

Go to the documentation of this file.
00001 /*
00002  * ServerConfigurationBuilder.h
00003  *
00004  *  Created on: Jul 18, 2013
00005  *      Author: samuele
00006  */
00007 
00008 #ifndef SERVERCONFIGURATIONBUILDER_H_
00009 #define SERVERCONFIGURATIONBUILDER_H_
00010 
00011 #include <string>
00012 #include "infinispan/hotrod/ImportExport.h"
00013 #include "Builder.h"
00014 #include "ServerConfiguration.h"
00015 #include "ConfigurationChildBuilder.h"
00016 
00017 namespace infinispan {
00018 namespace hotrod {
00026 class ServerConfigurationBuilder
00027   : public Builder<ServerConfiguration>, public ConfigurationChildBuilder
00028 {
00029   public:
00030     ServerConfigurationBuilder(ConfigurationBuilder& builder_):
00031         ConfigurationChildBuilder(builder_), m_host("localhost"), m_port(11222) {}
00032 
00033         /***
00034          * Specifies host of remote HotRod server
00035          *
00036          * \return ServerConfigurationBuilder for further configuration
00037          */
00038     ServerConfigurationBuilder& host(const std::string &host_)
00039     {
00040         m_host = host_;
00041         return *this;
00042     }
00043 
00044     /***
00045          * Specifies port of remote HotRod server
00046          *
00047          * \return ServerConfigurationBuilder for further configuration
00048          */
00049     ServerConfigurationBuilder& port(int port_)
00050     {
00051         m_port = port_;
00052         return *this;
00053     }
00054 
00055         /***
00056          * Create ServerConfiguration instance from a given state of
00057          * this ServerConfigurationBuilder
00058          *
00059          * \return created ServerConfiguration instance
00060          */
00061     virtual ServerConfiguration create()
00062     {
00063         return ServerConfiguration(m_host, m_port);
00064     }
00065 
00066         /***
00067          * Create ServerConfigurationBuilder from a given state of
00068          * another ServerConfiguration instance
00069          *
00070          * \return ServerConfigurationBuilder for further configuration
00071          */
00072     virtual ServerConfigurationBuilder& read(ServerConfiguration& configuration)
00073     {
00074         m_host = configuration.getHostCString();
00075         m_port = configuration.getPort();
00076         return *this;
00077     }
00078 
00079   private:
00080     std::string m_host;
00081     int m_port;
00082 };
00083 
00084 
00085 }} //namespace
00086 
00087 
00088 #endif /* SERVERCONFIGURATIONBUILDER_H_ */

Generated on 25 Mar 2015 for JBoss Data Grid HotRod C++ Client by  doxygen 1.4.7