Use SystemDictionary::Builder and remove old factory methods

This is just a clean-up CL in favor of SystemDictionary::Builder.  No user-visible behavior change is intended.

BUG=none
TEST=unittest

git-svn-id: https://mozc.googlecode.com/svn/trunk@545 a6090854-d499-a067-5803-1114d4e51264
diff --git a/src/converter/converter_test.cc b/src/converter/converter_test.cc
index e807f7d..38b66b5 100644
--- a/src/converter/converter_test.cc
+++ b/src/converter/converter_test.cc
@@ -196,8 +196,7 @@
     ret->user_dictionary.reset(new UserDictionaryStub);
     ret->suppression_dictionary.reset(new SuppressionDictionary);
     ret->dictionary.reset(new DictionaryImpl(
-        SystemDictionary::CreateSystemDictionaryFromImage(
-            dictionary_data, dictionary_size),
+        SystemDictionary::Builder(dictionary_data, dictionary_size).Build(),
         ValueDictionary::CreateValueDictionaryFromImage(
             *data_manager.GetPOSMatcher(), dictionary_data, dictionary_size),
         ret->user_dictionary.get(),
@@ -1232,8 +1231,7 @@
   data_manager.GetSystemDictionaryData(&dictionary_data, &dictionary_size);
 
   scoped_ptr<DictionaryInterface> dictionary(new DictionaryImpl(
-      SystemDictionary::CreateSystemDictionaryFromImage(
-          dictionary_data, dictionary_size),
+      SystemDictionary::Builder(dictionary_data, dictionary_size).Build(),
       ValueDictionary::CreateValueDictionaryFromImage(
           *data_manager.GetPOSMatcher(), dictionary_data, dictionary_size),
       mock_user_dictionary.get(),
diff --git a/src/converter/immutable_converter_test.cc b/src/converter/immutable_converter_test.cc
index 0f73970..1dd953e 100644
--- a/src/converter/immutable_converter_test.cc
+++ b/src/converter/immutable_converter_test.cc
@@ -109,8 +109,7 @@
       data_manager_->GetSystemDictionaryData(&dictionary_data,
                                              &dictionary_size);
       dictionary_.reset(new DictionaryImpl(
-          SystemDictionary::CreateSystemDictionaryFromImage(
-              dictionary_data, dictionary_size),
+          SystemDictionary::Builder(dictionary_data, dictionary_size).Build(),
           ValueDictionary::CreateValueDictionaryFromImage(
               *pos_matcher, dictionary_data, dictionary_size),
           &user_dictionary_stub_,
diff --git a/src/converter/nbest_generator_test.cc b/src/converter/nbest_generator_test.cc
index e1dc6d5..29b8354 100644
--- a/src/converter/nbest_generator_test.cc
+++ b/src/converter/nbest_generator_test.cc
@@ -86,8 +86,7 @@
     data_manager_->GetSystemDictionaryData(&dictionary_data,
                                            &dictionary_size);
     dictionary_.reset(new DictionaryImpl(
-        SystemDictionary::CreateSystemDictionaryFromImage(
-            dictionary_data, dictionary_size),
+        SystemDictionary::Builder(dictionary_data, dictionary_size).Build(),
         ValueDictionary::CreateValueDictionaryFromImage(
             *pos_matcher, dictionary_data, dictionary_size),
         &user_dictionary_stub_,
diff --git a/src/dictionary/dictionary_impl_test.cc b/src/dictionary/dictionary_impl_test.cc
index ce5254a..9c1d9d6 100644
--- a/src/dictionary/dictionary_impl_test.cc
+++ b/src/dictionary/dictionary_impl_test.cc
@@ -69,8 +69,7 @@
   int dictionary_size = 0;
   data_manager.GetSystemDictionaryData(&dictionary_data, &dictionary_size);
   DictionaryInterface *sys_dict =
-      SystemDictionary::CreateSystemDictionaryFromImage(dictionary_data,
-                                                        dictionary_size);
+      SystemDictionary::Builder(dictionary_data, dictionary_size).Build();
   DictionaryInterface *val_dict =
       ValueDictionary::CreateValueDictionaryFromImage(*ret->pos_matcher,
                                                       dictionary_data,
diff --git a/src/dictionary/system/system_dictionary.cc b/src/dictionary/system/system_dictionary.cc
index 17dffdd..ef36f9c 100644
--- a/src/dictionary/system/system_dictionary.cc
+++ b/src/dictionary/system/system_dictionary.cc
@@ -524,14 +524,16 @@
 
 SystemDictionary::Builder::~Builder() {}
 
-void SystemDictionary::Builder::SetOptions(Options options) {
+SystemDictionary::Builder & SystemDictionary::Builder::SetOptions(
+    Options options) {
   options_ = options;
+  return *this;
 }
 
-// This does not have the ownership of |codec|
-void SystemDictionary::Builder::SetCodec(
+SystemDictionary::Builder &SystemDictionary::Builder::SetCodec(
     const SystemDictionaryCodecInterface *codec) {
   codec_ = codec;
+  return *this;
 }
 
 SystemDictionary *SystemDictionary::Builder::Build() {
@@ -581,34 +583,6 @@
 
 SystemDictionary::~SystemDictionary() {}
 
-// static
-SystemDictionary *SystemDictionary::CreateSystemDictionaryFromFileWithOptions(
-    const string &filename, Options options) {
-  Builder builder(filename);
-  builder.SetOptions(options);
-  return builder.Build();
-}
-
-// static
-SystemDictionary *SystemDictionary::CreateSystemDictionaryFromFile(
-    const string &filename) {
-  return CreateSystemDictionaryFromFileWithOptions(filename, NONE);
-}
-
-// static
-SystemDictionary *SystemDictionary::CreateSystemDictionaryFromImageWithOptions(
-    const char *ptr, int len, Options options) {
-  Builder builder(ptr, len);
-  builder.SetOptions(options);
-  return builder.Build();
-}
-
-// static
-SystemDictionary *SystemDictionary::CreateSystemDictionaryFromImage(
-    const char *ptr, int len) {
-  return CreateSystemDictionaryFromImageWithOptions(ptr, len, NONE);
-}
-
 bool SystemDictionary::OpenDictionaryFile(bool enable_reverse_lookup_index) {
   int len;
 
diff --git a/src/dictionary/system/system_dictionary.h b/src/dictionary/system/system_dictionary.h
index d3266ec..fc3948b 100644
--- a/src/dictionary/system/system_dictionary.h
+++ b/src/dictionary/system/system_dictionary.h
@@ -82,11 +82,12 @@
     ~Builder();
 
     // Sets options (default: NONE)
-    void SetOptions(Options options);
+    Builder &SetOptions(Options options);
 
     // Sets codec (default: NULL)
     // Uses default codec if this is NULL
-    void SetCodec(const SystemDictionaryCodecInterface *codec);
+    // Doesn't take the ownership of |codec|.
+    Builder &SetCodec(const SystemDictionaryCodecInterface *codec);
 
     // Builds and returns system dictionary.
     SystemDictionary *Build();
@@ -114,19 +115,6 @@
 
   virtual ~SystemDictionary();
 
-  // TODO(team): Use builder instead of following static methods.
-  static SystemDictionary *CreateSystemDictionaryFromFile(
-      const string &filename);
-
-  static SystemDictionary *CreateSystemDictionaryFromFileWithOptions(
-      const string &filename, Options options);
-
-  static SystemDictionary *CreateSystemDictionaryFromImage(
-      const char *ptr, int len);
-
-  static SystemDictionary *CreateSystemDictionaryFromImageWithOptions(
-      const char *ptr, int len, Options options);
-
   // Implementation of DictionaryInterface.
   virtual bool HasKey(StringPiece key) const;
   virtual bool HasValue(StringPiece value) const;
diff --git a/src/dictionary/system/system_dictionary_test.cc b/src/dictionary/system/system_dictionary_test.cc
index e01fbd4..48645e7 100644
--- a/src/dictionary/system/system_dictionary_test.cc
+++ b/src/dictionary/system/system_dictionary_test.cc
@@ -237,7 +237,7 @@
   BuildSystemDictionary(tokens, tokens.size());
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -296,7 +296,7 @@
   BuildSystemDictionary(source_tokens, FLAGS_dictionary_test_size);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -357,7 +357,7 @@
   BuildSystemDictionary(source_tokens, FLAGS_dictionary_test_size);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -373,7 +373,7 @@
   BuildSystemDictionary(source_tokens, FLAGS_dictionary_test_size);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -402,7 +402,7 @@
   BuildSystemDictionary(source_tokens, 100);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -510,7 +510,7 @@
   text_dict_->CollectTokens(&source_tokens);
   BuildSystemDictionary(source_tokens, kKeyValuesSize);
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -632,7 +632,7 @@
     BuildSystemDictionary(source_tokens, 10000);
   }
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source: " << dic_fn_;
 
@@ -659,7 +659,7 @@
 
   BuildSystemDictionary(tokens, 100);
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source: " << dic_fn_;
 
@@ -694,7 +694,7 @@
     BuildSystemDictionary(source_tokens, 10000);
   }
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source: " << dic_fn_;
 
@@ -725,7 +725,7 @@
   BuildSystemDictionary(source_tokens, 100);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -836,7 +836,7 @@
   BuildSystemDictionary(source_tokens, source_tokens.size());
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
   const size_t test_size = min(
@@ -902,13 +902,15 @@
   BuildSystemDictionary(source_tokens, FLAGS_dictionary_test_size);
 
   scoped_ptr<SystemDictionary> system_dic_without_index(
-      SystemDictionary::CreateSystemDictionaryFromFileWithOptions(
-          dic_fn_, SystemDictionary::NONE));
+      SystemDictionary::Builder(dic_fn_)
+      .SetOptions(SystemDictionary::NONE)
+      .Build());
   ASSERT_TRUE(system_dic_without_index.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
   scoped_ptr<SystemDictionary> system_dic_with_index(
-      SystemDictionary::CreateSystemDictionaryFromFileWithOptions(
-          dic_fn_, SystemDictionary::ENABLE_REVERSE_LOOKUP_INDEX));
+      SystemDictionary::Builder(dic_fn_)
+      .SetOptions(SystemDictionary::ENABLE_REVERSE_LOOKUP_INDEX)
+      .Build());
   ASSERT_TRUE(system_dic_with_index.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -952,7 +954,7 @@
   target_token.key.swap(target_token.value);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
   NodeAllocator allocator;
@@ -1005,7 +1007,7 @@
   BuildSystemDictionary(source_tokens, source_tokens.size());
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -1044,7 +1046,7 @@
   BuildSystemDictionary(source_tokens, 100);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -1103,7 +1105,7 @@
   BuildSystemDictionary(source_tokens, 100);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
@@ -1145,7 +1147,7 @@
   BuildSystemDictionary(source_tokens, 100);
 
   scoped_ptr<SystemDictionary> system_dic(
-      SystemDictionary::CreateSystemDictionaryFromFile(dic_fn_));
+      SystemDictionary::Builder(dic_fn_).Build());
   ASSERT_TRUE(system_dic.get() != NULL)
       << "Failed to open dictionary source:" << dic_fn_;
 
diff --git a/src/engine/engine.cc b/src/engine/engine.cc
index 2d4e80e..9b09f27 100644
--- a/src/engine/engine.cc
+++ b/src/engine/engine.cc
@@ -155,8 +155,7 @@
   data_manager->GetSystemDictionaryData(&dictionary_data, &dictionary_size);
 
   dictionary_.reset(new DictionaryImpl(
-      SystemDictionary::CreateSystemDictionaryFromImage(
-          dictionary_data, dictionary_size),
+      SystemDictionary::Builder(dictionary_data, dictionary_size).Build(),
       ValueDictionary::CreateValueDictionaryFromImage(
           *data_manager->GetPOSMatcher(), dictionary_data, dictionary_size),
       user_dictionary_.get(),
diff --git a/src/mozc_version_template.txt b/src/mozc_version_template.txt
index de593f2..1768dcd 100644
--- a/src/mozc_version_template.txt
+++ b/src/mozc_version_template.txt
@@ -1,6 +1,6 @@
 MAJOR=2
 MINOR=16
-BUILD=2061
+BUILD=2062
 REVISION=102
 # NACL_DICTIONARY_VERSION is the target version of the system dictionary to be
 # downloaded by NaCl Mozc.
diff --git a/src/prediction/dictionary_predictor_test.cc b/src/prediction/dictionary_predictor_test.cc
index 58e78f5..04a1318 100644
--- a/src/prediction/dictionary_predictor_test.cc
+++ b/src/prediction/dictionary_predictor_test.cc
@@ -90,7 +90,7 @@
   int size = 0;
   data_manager.GetSystemDictionaryData(&data, &size);
   using mozc::dictionary::SystemDictionary;
-  return SystemDictionary::CreateSystemDictionaryFromImage(data, size);
+  return SystemDictionary::Builder(data, size).Build();
 }
 
 DictionaryInterface *CreateSuffixDictionaryFromDataManager(