summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/JavaUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/JavaUtil.cpp')
-rw-r--r--cpp/src/Slice/JavaUtil.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp
index ed2f558d838..06e1dc9f331 100644
--- a/cpp/src/Slice/JavaUtil.cpp
+++ b/cpp/src/Slice/JavaUtil.cpp
@@ -462,13 +462,28 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
SequencePtr seq = SequencePtr::dynamicCast(type);
if(seq)
{
+ string listType = findMetaData(metaData);
if(mode == TypeModeOut)
{
- return getAbsolute(seq, package, "", "Holder");
+ if(listType.empty())
+ {
+ return getAbsolute(seq, package, "", "Holder");
+ }
+ else if(listType == "java.util.ArrayList")
+ {
+ return "Ice.ArrayListHolder";
+ }
+ else if(listType == "java.util.LinkedList")
+ {
+ return "Ice.LinkedListHolder";
+ }
+ else
+ {
+ return "Ice.ListHolder";
+ }
}
else
{
- string listType = findMetaData(metaData);
if(listType.empty())
{
StringList l = seq->getMetaData();