If a server-side programmer uses java5 platform and he write a slice file which uses some java5 features such as generic, special collection:
Code:
#ifndef SIMPLETEST_ICE
#define SIMPLETEST_ICE
module Simpletest
{
["java:type:java.util.LinkedList<String>:java.util.List<String>"]
sequence<string> StringList;
};
#endif
Of course, the server-side programmer has no problem to use this slice file in java5 platform. Then he distributes this slice file to client-side programmer.
However, the client-side programmer uses java2 platform instead of java5 platform, so he uses the following command to generate code:
Code:
slice2java --output-dir generated Simpletest.ice
This generates two files: StringListHolder.java, StringListHelper.java. More details of StringListHolder.java is as follows:
Code:
//...
public final class StringListHolder
{
public
StringListHolder()
{
}
public
StringListHolder(java.util.List<String> value)
{
this.value = value;
}
public java.util.List<String> value;
}
//...
These two files can not be compiled in java2 platform. So is it a problem of cross-platform/language ? Maybe slice2java should be smarter so that it can generate different code in java2 platform. To do so, there is a need for the client-side programmer to pass some cue to slice2java.