Support model name like "List" in Java clients

Support generating model files with name like "List", "Map" and "Date"
by using full qualified names when using them from the java.util
package.
This commit is contained in:
xhh
2015-10-08 21:18:11 +08:00
parent d95660aca1
commit edf2642e73
6 changed files with 46 additions and 66 deletions

View File

@@ -8,15 +8,9 @@ import {{invokerPackage}}.TypeRef;
import {{modelPackage}}.*;
import java.util.*;
{{#imports}}import {{import}};
{{/imports}}
import java.io.File;
import java.util.Map;
import java.util.HashMap;
{{>generatedAnnotation}}
{{#operations}}
public class {{classname}} {
@@ -58,9 +52,9 @@ public class {{classname}} {
.replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}};
// query params
List<Pair> {{localVariablePrefix}}queryParams = new ArrayList<Pair>();
Map<String, String> {{localVariablePrefix}}headerParams = new HashMap<String, String>();
Map<String, Object> {{localVariablePrefix}}formParams = new HashMap<String, Object>();
java.util.List<Pair> {{localVariablePrefix}}queryParams = new java.util.ArrayList<Pair>();
java.util.Map<String, String> {{localVariablePrefix}}headerParams = new java.util.HashMap<String, String>();
java.util.Map<String, Object> {{localVariablePrefix}}formParams = new java.util.HashMap<String, Object>();
{{#queryParams}}
{{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}}));

View File

@@ -14,15 +14,9 @@ import com.squareup.okhttp.Call;
import java.lang.reflect.Type;
import java.util.*;
{{#imports}}import {{import}};
{{/imports}}
import java.io.File;
import java.util.Map;
import java.util.HashMap;
{{#operations}}
public class {{classname}} {
private ApiClient {{localVariablePrefix}}apiClient;
@@ -58,15 +52,15 @@ public class {{classname}} {
String {{localVariablePrefix}}path = "{{path}}".replaceAll("\\{format\\}","json"){{#pathParams}}
.replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}};
List<Pair> {{localVariablePrefix}}queryParams = new ArrayList<Pair>();{{#queryParams}}
java.util.List<Pair> {{localVariablePrefix}}queryParams = new java.util.ArrayList<Pair>();{{#queryParams}}
if ({{paramName}} != null)
{{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}}));{{/queryParams}}
Map<String, String> {{localVariablePrefix}}headerParams = new HashMap<String, String>();{{#headerParams}}
java.util.Map<String, String> {{localVariablePrefix}}headerParams = new java.util.HashMap<String, String>();{{#headerParams}}
if ({{paramName}} != null)
{{localVariablePrefix}}headerParams.put("{{baseName}}", {{localVariablePrefix}}apiClient.parameterToString({{paramName}}));{{/headerParams}}
Map<String, Object> {{localVariablePrefix}}formParams = new HashMap<String, Object>();{{#formParams}}
java.util.Map<String, Object> {{localVariablePrefix}}formParams = new java.util.HashMap<String, Object>();{{#formParams}}
if ({{paramName}} != null)
{{localVariablePrefix}}formParams.put("{{baseName}}", {{paramName}});{{/formParams}}

View File

@@ -5,7 +5,6 @@ import {{modelPackage}}.*;
import retrofit.Callback;
import retrofit.http.*;
import retrofit.mime.*;
import java.util.*;
{{#imports}}import {{import}};
{{/imports}}
@@ -22,7 +21,7 @@ public interface {{classname}} {
*/
{{#formParams}}{{#-first}}
{{#isMultipart}}@Multipart{{/isMultipart}}{{^isMultipart}}@FormUrlEncoded{{/isMultipart}}{{/-first}}{{/formParams}}
@{{httpMethod}}("{{path}}")
@{{httpMethod}}("{{path}}")
{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Object{{/returnType}} {{nickname}}({{^allParams}});{{/allParams}}
{{#allParams}}{{>libraries/retrofit/queryParams}}{{>libraries/retrofit/pathParams}}{{>libraries/retrofit/headerParams}}{{>libraries/retrofit/bodyParams}}{{>libraries/retrofit/formParams}}{{#hasMore}}, {{/hasMore}}{{^hasMore}}
);{{/hasMore}}{{/allParams}}
@@ -31,15 +30,15 @@ public interface {{classname}} {
* {{summary}}
* Async method
{{#allParams}} * @param {{paramName}} {{description}}
{{/allParams}} * @param cb callback method
{{/allParams}} * @param cb callback method
* @return void
*/
{{#formParams}}{{#-first}}
{{#isMultipart}}@Multipart{{/isMultipart}}{{^isMultipart}}@FormUrlEncoded{{/isMultipart}}{{/-first}}{{/formParams}}
@{{httpMethod}}("{{path}}")
@{{httpMethod}}("{{path}}")
void {{nickname}}(
{{#allParams}}{{>libraries/retrofit/queryParams}}{{>libraries/retrofit/pathParams}}{{>libraries/retrofit/headerParams}}{{>libraries/retrofit/bodyParams}}{{>libraries/retrofit/formParams}}, {{/allParams}}Callback<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Object{{/returnType}}> cb
);
);
{{/operation}}
}
{{/operations}}
{{/operations}}