string t_java_generator::java_type_imports() {
return
string() +
+ "import java.util.List;\n" +
"import java.util.ArrayList;\n" +
- "import java.util.AbstractMap;\n" +
+ "import java.util.Map;\n" +
"import java.util.HashMap;\n" +
+ "import java.util.Set;\n" +
"import java.util.HashSet;\n" +
"import com.facebook.thrift.*;\n\n";
}
string t_java_generator::type_name(t_type* ttype, bool in_container, bool in_init) {
// In Java typedefs are just resolved to their real type
ttype = get_true_type(ttype);
+ string prefix;
if (ttype->is_base_type()) {
return base_type_name((t_base_type*)ttype, in_container);
return (in_container ? "Integer" : "int");
} else if (ttype->is_map()) {
t_map* tmap = (t_map*) ttype;
- string prefix;
if (in_init) {
prefix = "HashMap";
} else {
- prefix = "AbstractMap";
+ prefix = "Map";
}
return prefix + "<" +
type_name(tmap->get_key_type(), true) + "," +
type_name(tmap->get_val_type(), true) + ">";
} else if (ttype->is_set()) {
t_set* tset = (t_set*) ttype;
- return "HashSet<" + type_name(tset->get_elem_type(), true) + ">";
+ if (in_init) {
+ prefix = "HashSet<";
+ } else {
+ prefix = "Set<";
+ }
+ return prefix + type_name(tset->get_elem_type(), true) + ">";
} else if (ttype->is_list()) {
t_list* tlist = (t_list*) ttype;
- return "ArrayList<" + type_name(tlist->get_elem_type(), true) + ">";
+ if (in_init) {
+ prefix = "ArrayList<";
+ } else {
+ prefix = "List<";
+ }
+ return prefix + type_name(tlist->get_elem_type(), true) + ">";
}
// Check for namespacing
import com.facebook.thrift.protocol.TBinaryProtocol;
import com.facebook.thrift.protocol.TJSONProtocol;
-import java.util.AbstractMap;
+import java.util.Map;
import java.util.HashMap;
+import java.util.Set;
import java.util.HashSet;
+import java.util.List;
import java.util.ArrayList;
/**
/**
* MAP TEST
*/
- HashMap<Integer,Integer> mapout = new HashMap<Integer,Integer>();
+ Map<Integer,Integer> mapout = new HashMap<Integer,Integer>();
for (int i = 0; i < 5; ++i) {
mapout.put(i, i-10);
}
System.out.print(key + " => " + mapout.get(key));
}
System.out.print("})");
- AbstractMap<Integer,Integer> mapin = testClient.testMap(mapout);
+ Map<Integer,Integer> mapin = testClient.testMap(mapout);
System.out.print(" = {");
first = true;
for (int key : mapin.keySet()) {
/**
* SET TEST
*/
- HashSet<Integer> setout = new HashSet<Integer>();
+ Set<Integer> setout = new HashSet<Integer>();
for (int i = -2; i < 3; ++i) {
setout.add(i);
}
System.out.print(elem);
}
System.out.print("})");
- HashSet<Integer> setin = testClient.testSet(setout);
+ Set<Integer> setin = testClient.testSet(setout);
System.out.print(" = {");
first = true;
for (int elem : setin) {
/**
* LIST TEST
*/
- ArrayList<Integer> listout = new ArrayList<Integer>();
+ List<Integer> listout = new ArrayList<Integer>();
for (int i = -2; i < 3; ++i) {
listout.add(i);
}
System.out.print(elem);
}
System.out.print("})");
- ArrayList<Integer> listin = testClient.testList(listout);
+ List<Integer> listin = testClient.testList(listout);
System.out.print(" = {");
first = true;
for (int elem : listin) {
* NESTED MAP TEST
*/
System.out.print("testMapMap(1)");
- AbstractMap<Integer,AbstractMap<Integer,Integer>> mm =
+ Map<Integer,Map<Integer,Integer>> mm =
testClient.testMapMap(1);
System.out.print(" = {");
for (int key : mm.keySet()) {
System.out.print(key + " => {");
- AbstractMap<Integer,Integer> m2 = mm.get(key);
+ Map<Integer,Integer> m2 = mm.get(key);
for (int k2 : m2.keySet()) {
System.out.print(k2 + " => " + m2.get(k2) + ", ");
}
insane.xtructs = new ArrayList<Xtruct>();
insane.xtructs.add(truck);
System.out.print("testInsanity()");
- AbstractMap<Long,AbstractMap<Integer,Insanity>> whoa =
+ Map<Long,Map<Integer,Insanity>> whoa =
testClient.testInsanity(insane);
System.out.print(" = {");
for (long key : whoa.keySet()) {
- AbstractMap<Integer,Insanity> val = whoa.get(key);
+ Map<Integer,Insanity> val = whoa.get(key);
System.out.print(key + " => {");
for (int k2 : val.keySet()) {
Insanity v2 = val.get(k2);
System.out.print(k2 + " => {");
- AbstractMap<Integer, Long> userMap = v2.userMap;
+ Map<Integer, Long> userMap = v2.userMap;
System.out.print("{");
if (userMap != null) {
for (int k3 : userMap.keySet()) {
}
System.out.print("}, ");
- ArrayList<Xtruct> xtructs = v2.xtructs;
+ List<Xtruct> xtructs = v2.xtructs;
System.out.print("{");
if (xtructs != null) {
for (Xtruct x : xtructs) {
import thrift.test.*;
import java.net.ServerSocket;
+import java.util.List;
import java.util.ArrayList;
-import java.util.AbstractMap;
+import java.util.Map;
import java.util.HashMap;
+import java.util.Set;
import java.util.HashSet;
public class TestServer {
return nest;
}
- public AbstractMap<Integer,Integer> testMap(AbstractMap<Integer,Integer> thing) {
+ public Map<Integer,Integer> testMap(Map<Integer,Integer> thing) {
System.out.print("testMap({");
boolean first = true;
for (int key : thing.keySet()) {
return thing;
}
- public HashSet<Integer> testSet(HashSet<Integer> thing) {
+ public Set<Integer> testSet(Set<Integer> thing) {
System.out.print("testSet({");
boolean first = true;
for (int elem : thing) {
return thing;
}
- public ArrayList<Integer> testList(ArrayList<Integer> thing) {
+ public List<Integer> testList(List<Integer> thing) {
System.out.print("testList({");
boolean first = true;
for (int elem : thing) {
return thing;
}
- public AbstractMap<Integer,AbstractMap<Integer,Integer>> testMapMap(int hello) {
+ public Map<Integer,Map<Integer,Integer>> testMapMap(int hello) {
System.out.print("testMapMap(" + hello + ")\n");
- AbstractMap<Integer,AbstractMap<Integer,Integer>> mapmap =
- new HashMap<Integer,AbstractMap<Integer,Integer>>();
+ Map<Integer,Map<Integer,Integer>> mapmap =
+ new HashMap<Integer,Map<Integer,Integer>>();
HashMap<Integer,Integer> pos = new HashMap<Integer,Integer>();
HashMap<Integer,Integer> neg = new HashMap<Integer,Integer>();
return mapmap;
}
- public AbstractMap<Long, AbstractMap<Integer,Insanity>> testInsanity(Insanity argument) {
+ public Map<Long, Map<Integer,Insanity>> testInsanity(Insanity argument) {
System.out.print("testInsanity()\n");
Xtruct hello = new Xtruct();
second_map.put(Numberz.SIX, looney);
- AbstractMap<Long,AbstractMap<Integer,Insanity>> insane =
- new HashMap<Long, AbstractMap<Integer,Insanity>>();
+ Map<Long,Map<Integer,Insanity>> insane =
+ new HashMap<Long, Map<Integer,Insanity>>();
insane.put((long)1, first_map);
insane.put((long)2, second_map);
return insane;
}
- public Xtruct testMulti(byte arg0, int arg1, long arg2, AbstractMap<Short,String> arg3, int arg4, long arg5) {
+ public Xtruct testMulti(byte arg0, int arg1, long arg2, Map<Short,String> arg3, int arg4, long arg5) {
System.out.print("testMulti()\n");
Xtruct hello = new Xtruct();;