summaryrefslogtreecommitdiff
path: root/cpp/src/slice2freezej/Main.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-11-16 14:49:07 -0500
committerBernard Normier <bernard@zeroc.com>2007-11-16 14:49:07 -0500
commit340886aa0e34e47099009c155d0de48522b25a87 (patch)
treecdac947ca5add954e84c103e02fd13b30905d9c1 /cpp/src/slice2freezej/Main.cpp
parentMerge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff)
downloadice-340886aa0e34e47099009c155d0de48522b25a87.tar.bz2
ice-340886aa0e34e47099009c155d0de48522b25a87.tar.xz
ice-340886aa0e34e47099009c155d0de48522b25a87.zip
Recreate implementation in Java
Diffstat (limited to 'cpp/src/slice2freezej/Main.cpp')
-rw-r--r--cpp/src/slice2freezej/Main.cpp55
1 files changed, 49 insertions, 6 deletions
diff --git a/cpp/src/slice2freezej/Main.cpp b/cpp/src/slice2freezej/Main.cpp
index b4f9ee1e88c..d82468ab033 100644
--- a/cpp/src/slice2freezej/Main.cpp
+++ b/cpp/src/slice2freezej/Main.cpp
@@ -355,20 +355,31 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
//
// Constructors
//
+
+ out << sp << nl << "private" << nl << name
+ << "(Freeze.Connection __connection, String __dbName, java.util.Comparator __comparator)";
+ out << sb;
+
+ out << nl << "super(__connection, __dbName, __comparator);";
if(dict.indices.size() > 0)
{
- out << sp << nl << "public" << nl << name
- << "(Freeze.Connection __connection, String __dbName, boolean __createDb, "
- << "java.util.Comparator __comparator, java.util.Map __indexComparators)";
- out << sb;
-
- out << nl << "super(__connection, __dbName, __comparator);";
out << nl << "_indices = new Freeze.Map.Index[" << dict.indices.size() << "];";
for(i = 0; i < dict.indices.size(); ++i)
{
out << nl << "_indices[" << i << "] = new " << capitalizedMembers[i]
<< "Index(\"" << indexNames[i] << "\");";
}
+ }
+ out << eb;
+
+ if(dict.indices.size() > 0)
+ {
+ out << sp << nl << "public" << nl << name
+ << "(Freeze.Connection __connection, String __dbName, boolean __createDb, "
+ << "java.util.Comparator __comparator, java.util.Map __indexComparators)";
+ out << sb;
+
+ out << nl << "this(__connection, __dbName, __comparator);";
out << nl << "init(_indices, __dbName, \"" << keyType->typeId() << "\", \""
<< valueType->typeId() << "\", __createDb, __indexComparators);";
out << eb;
@@ -402,6 +413,38 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
out << eb;
//
+ // recreate
+ //
+ if(dict.indices.size() > 0)
+ {
+ out << sp << nl << "public static void" << nl
+ << "recreate(Freeze.Connection __connection, String __dbName, "
+ << "java.util.Comparator __comparator, java.util.Map __indexComparators)";
+ out << sb;
+
+ out << nl << name << " __tmpMap = new " << name << "(__connection, __dbName, __comparator);";
+ out << nl << "recreate(__tmpMap, __dbName, \"" << keyType->typeId() << "\", \""
+ << valueType->typeId() << "\", __tmpMap._indices, __indexComparators);";
+ out << eb;
+ }
+
+ out << sp << nl << "public static void" << nl
+ << "recreate(Freeze.Connection __connection, String __dbName, "
+ << "java.util.Comparator __comparator)";
+ out << sb;
+ if(dict.indices.size() > 0)
+ {
+ out << nl << "recreate(__connection, __dbName, __comparator, null);";
+ }
+ else
+ {
+ out << nl << name << " __tmpMap = new " << name << "(__connection, __dbName, __comparator);";
+ out << nl << "recreate(__tmpMap, __dbName, \"" << keyType->typeId() << "\", \""
+ << valueType->typeId() << "\", null, null);";
+ }
+ out << eb;
+
+ //
// findBy and count methods
//
for(i = 0; i < capitalizedMembers.size(); ++i)