diff --git a/JsonToJava-Lib/src/com/jsontojava/Main.java b/JsonToJava-Lib/src/com/jsontojava/Main.java index 652c9f4..d6d84e4 100644 --- a/JsonToJava-Lib/src/com/jsontojava/Main.java +++ b/JsonToJava-Lib/src/com/jsontojava/Main.java @@ -10,6 +10,32 @@ public class Main { private static final String OPTION_PARCELABLE = "p"; + +// /** +// * @param args +// * @throws IOException +// */ +// public static void main(String[] args) throws IOException { +// +// JsonToJava jsonToJava = new JsonToJava(); +// +// +// +// jsonToJava.setUrl("http://pastebin.com/raw/LxguVT6c"); +// jsonToJava.setPackage("me.pushapp.bito.model"); +// jsonToJava.setBaseType("User"); +// jsonToJava.addOutputOption(OutputOption.LOGANSQUARE); +// jsonToJava.addOutputOption(OutputOption.GSON); +// jsonToJava.addOutputOption(OutputOption.PARCELABLE); +// jsonToJava.addOutputOption(OutputOption.TO_STRING); +// +// jsonToJava.fetchJson(); +// FileOutputStream outputStream = new FileOutputStream(jsonToJava.getPackage() + ".zip"); +// jsonToJava.outputZipFile(outputStream); +// +// +// } + // /** // * @param args // * @throws IOException diff --git a/JsonToJava-Lib/src/com/jsontojava/NewType.java b/JsonToJava-Lib/src/com/jsontojava/NewType.java index e44ba44..d6b0de3 100644 --- a/JsonToJava-Lib/src/com/jsontojava/NewType.java +++ b/JsonToJava-Lib/src/com/jsontojava/NewType.java @@ -17,6 +17,11 @@ public class NewType { public static final String IMPORT_ANDROID_OS_PARCELABLE = "android.os.Parcelable"; public static final String IMPORT_ANDROID_OS_PARCEL = "android.os.Parcel"; public static final String IMPORT_GSON_SERIALIZED_NAME = "com.google.gson.annotations.SerializedName"; + public static final String IMPORT_LOGANSQUARE_OBJECT = "com.bluelinelabs.logansquare.annotation.JsonObject"; + public static final String IMPORT_LOGANSQUARE_FIELD = "com.bluelinelabs.logansquare.annotation.JsonField"; + + + public String name; public String pack; public Set imports; @@ -132,6 +137,10 @@ public String toPojoString(EnumSet options,JsonToJava jsonToJava) if (options.contains(OutputOption.GSON)) { imports.add(IMPORT_GSON_SERIALIZED_NAME); } + if (options.contains(OutputOption.LOGANSQUARE)){ + imports.add(IMPORT_LOGANSQUARE_FIELD); + imports.add(IMPORT_LOGANSQUARE_OBJECT); + } StringBuilder sBuilder = new StringBuilder(); sBuilder.append("package ").append(pack).append(";\n\n"); @@ -139,6 +148,9 @@ public String toPojoString(EnumSet options,JsonToJava jsonToJava) sBuilder.append("import ").append(s).append(";\n"); } sBuilder.append("\n\n"); + if (options.contains(OutputOption.LOGANSQUARE)) + sBuilder.append("@JsonObject\n"); + sBuilder.append("public class ").append(name); if (options.contains(OutputOption.PARCELABLE)) { sBuilder.append(" implements Parcelable"); @@ -161,6 +173,9 @@ public String toPojoString(EnumSet options,JsonToJava jsonToJava) if (options.contains(OutputOption.GSON)) { sBuilder.append(ONE_TAB+"@SerializedName(" + member.getFieldName() + ")\n"); } + if (options.contains(OutputOption.LOGANSQUARE)) { + sBuilder.append(ONE_TAB+"@JsonField(name = " + member.getFieldName() + ")\n"); + } sBuilder.append(ONE_TAB+"private " + member.getType() + " " + member.getName() + ";").append("\n"); } sBuilder.append("\n\n"); diff --git a/JsonToJava-Lib/src/com/jsontojava/OutputOption.java b/JsonToJava-Lib/src/com/jsontojava/OutputOption.java index 37edea4..75d3470 100644 --- a/JsonToJava-Lib/src/com/jsontojava/OutputOption.java +++ b/JsonToJava-Lib/src/com/jsontojava/OutputOption.java @@ -1,6 +1,6 @@ package com.jsontojava; public enum OutputOption { - PARCELABLE,GSON,JACKSON,ORG_JSON,GREEN_DAO,CONTENT_PROVIDER,RETROFIT,TO_STRING + PARCELABLE,GSON,JACKSON,ORG_JSON,GREEN_DAO,CONTENT_PROVIDER,RETROFIT,TO_STRING,LOGANSQUARE }