00001 #ifndef ISPN_HOTROD_CONFIGURATION_CONFIGURATIONCHILDBUILDER_H 00002 #define ISPN_HOTROD_CONFIGURATION_CONFIGURATIONCHILDBUILDER_H 00003 00004 00005 00006 #include <string> 00007 #include "infinispan/hotrod/ImportExport.h" 00008 #include "Configuration.h" 00009 00010 namespace infinispan { 00011 namespace hotrod { 00012 00013 class ConfigurationBuilder; 00014 class ConnectionPoolConfigurationBuilder; 00015 class ServerConfigurationBuilder; 00016 class SslConfigurationBuilder; 00017 00018 class HR_EXTERN ConfigurationChildBuilder 00019 { 00020 public: 00021 ConfigurationChildBuilder(ConfigurationBuilder& builder_); 00022 00027 ServerConfigurationBuilder& addServer(); 00028 00034 ConfigurationBuilder& addServers(std::string servers); 00035 00041 ConnectionPoolConfigurationBuilder& connectionPool(); 00042 00049 ConfigurationBuilder& connectionTimeout(int connectionTimeout_); 00050 00056 ConfigurationBuilder& forceReturnValues(bool forceReturnValues_); 00057 00064 ConfigurationBuilder& keySizeEstimate(int keySizeEstimate_); 00065 00071 ConfigurationBuilder& pingOnStartup(bool pingOnStartup_); 00072 00080 ConfigurationBuilder& protocolVersion(std::string protocolVersion_); 00081 00088 ConfigurationBuilder& socketTimeout(int socketTimeout_); 00089 00095 SslConfigurationBuilder& ssl(); 00096 00102 ConfigurationBuilder& tcpNoDelay(bool tcpNoDelay_); 00103 00110 ConfigurationBuilder& valueSizeEstimate(int valueSizeEstimate_); 00111 Configuration build(); 00112 00113 private: 00114 ConfigurationBuilder& m_builder; 00115 }; 00116 00117 }} // namespace 00118 00119 #endif // ISPN_HOTROD_CONFIGURATION_CONFIGURATIONCHILDBUILDER_H
1.4.7