{"action":"created","comment":{"url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/comments/29101321","id":29101321,"diff_hunk":"@@ -21,129 +25,144 @@ public SchemaWriter(SchemaModel model) {\n \n     public void write(Filer filer) {\n         try {\n-            StringBuilder fqcn = new StringBuilder();\n-            fqcn.append(model.getPackageName())\n-                    .append(\".\")\n-                    .append(model.getClassName());\n-\n-            JavaFileObject sourceFile = filer.createSourceFile(fqcn.toString(), model.getElement());\n-            JavaWriter writer = new JavaWriter(sourceFile.openWriter());\n-\n-            writer.emitPackage(model.getPackageName());\n-            writeImports(writer);\n-            writer.beginType(model.getClassName(), \"class\", EnumSet.of(Modifier.PUBLIC, Modifier.FINAL), model.getOriginalClassName());\n+            TypeSpec.Builder classBuilder = TypeSpec.classBuilder(model.getClassName());\n+            classBuilder.addModifiers(Modifier.PUBLIC, Modifier.FINAL);\n+            ClassName superClassName = ClassName.get(model.getPackageName(), model.getOriginalClassName());\n+            classBuilder.superclass(superClassName);\n+\n+            List<FieldSpec> fieldSpecs = createFields();\n+            for (FieldSpec fieldSpec : fieldSpecs) {\n+                classBuilder.addField(fieldSpec);\n+            }\n \n-            writeFields(writer);\n-            writeConstructors(writer);\n-            writeMethods(writer);\n+            List<MethodSpec> methodSpecs = new ArrayList<>();\n+            methodSpecs.addAll(createConstructors());\n+            methodSpecs.addAll(createMethods());\n+            for (MethodSpec methodSpec : methodSpecs) {\n+                classBuilder.addMethod(methodSpec);\n+            }\n \n-            writer.endType();\n-            writer.close();\n+            TypeSpec outClass = classBuilder.build();\n+            JavaFile.builder(model.getPackageName(), outClass)\n+                    .build()\n+                    .writeTo(filer);\n         } catch (IOException e) {\n             e.printStackTrace();\n         }\n     }\n \n-    private void writeImports(JavaWriter writer) throws IOException {\n-        ArrayList<String> imports = new ArrayList<String>() {{\n-            add(Classes.CONTEXT);\n-            add(Classes.SHARED_PREFERENCES);\n-        }};\n-        for (VariableElement element : model.getKeys()) {\n-            String fieldTypeFqdn = element.asType().toString();\n-            if (!imports.contains(fieldTypeFqdn) && fieldTypeFqdn.contains(\".\")) {\n-                imports.add(fieldTypeFqdn);\n-            }\n-        }\n-        writer.emitImports(imports);\n+    private List<FieldSpec> createFields() throws IOException {\n+        List<FieldSpec> fieldSpecs = new ArrayList<>();\n+        fieldSpecs.add(FieldSpec.builder(String.class, \"tableName\")\n+                .build());\n+        return fieldSpecs;\n     }\n \n-    private void writeFields(JavaWriter writer) throws IOException {\n-        writer.emitField(\"String\", \"tableName\", EnumSet.of(Modifier.PRIVATE, Modifier.FINAL), \"\\\"\" + model.getTableName() + \"\\\"\");\n+    private List<MethodSpec> createConstructors() throws IOException {\n+        List<MethodSpec> methodSpecs = new ArrayList<>();\n+        methodSpecs.add(MethodSpec.constructorBuilder()\n+                .addParameter(ClassName.get(\"android.content\", \"Context\"), \"context\")\n+                .addStatement(\"init(context, tableName)\")\n+                .build());\n+        methodSpecs.add(MethodSpec.constructorBuilder()\n+                .addParameter(ClassName.get(\"android.content\", \"SharedPreferences\"), \"prefs\")\n+                .addStatement(\"init(prefs)\")\n+                .build());\n+        return methodSpecs;\n     }\n \n-    private void writeConstructors(JavaWriter writer) throws IOException {\n-        writer.beginConstructor(EnumSet.of(Modifier.PUBLIC), \"Context\", \"context\")\n-                .emitStatement(\"init(context, tableName)\")\n-                .endConstructor();\n-\n-        writer.beginConstructor(EnumSet.of(Modifier.PUBLIC), \"SharedPreferences\", \"prefs\")\n-                .emitStatement(\"init(prefs)\")\n-                .endConstructor();\n-    }\n-\n-    private void writeMethods(JavaWriter writer) throws IOException {\n+    private List<MethodSpec> createMethods() throws IOException {\n+        List<MethodSpec> methodSpecs = new ArrayList<>();\n         for (VariableElement element : model.getKeys()) {\n             Key key = element.getAnnotation(Key.class);\n-            writeMethod(writer, key, element);\n+            methodSpecs.addAll(createMethod(key, element));\n         }\n+        return methodSpecs;\n     }\n \n-    private void writeMethod(JavaWriter writer, Key key, VariableElement element) throws IOException {\n+    private List<MethodSpec> createMethod(Key key, VariableElement element) throws IOException {\n+        List<MethodSpec> methodSpecs = new ArrayList<>();\n         String fieldTypeFqcn = element.asType().toString();\n         String fieldName = element.getSimpleName().toString();\n         String keyName = key.value();\n         switch (fieldTypeFqcn) {\n             case \"boolean\":\n-                writeGetter(writer, \"boolean\", \"boolean\", fieldName, keyName);\n-                writeSetter(writer, \"boolean\", \"boolean\", fieldName, keyName);\n-                writeHas(writer, fieldName, keyName);\n-                writeRemove(writer, fieldName, keyName);\n+                methodSpecs.add(createGetterMethod(boolean.class, \"boolean\", fieldName, keyName));\n+                methodSpecs.add(createSetterMethod(boolean.class, \"boolean\", fieldName, keyName));\n+                methodSpecs.add(createHasMethod(fieldName, keyName));\n+                methodSpecs.add(createRemoveMethod(fieldName, keyName));\n                 break;\n             case Classes.STRING:\n-                writeGetter(writer, \"String\", \"String\", fieldName, keyName);\n-                writeSetter(writer, \"String\", \"String\", fieldName, keyName);\n-                writeHas(writer, fieldName, keyName);\n-                writeRemove(writer, fieldName, keyName);\n+                methodSpecs.add(createGetterMethod(String.class, \"String\", fieldName, keyName));\n+                methodSpecs.add(createSetterMethod(String.class, \"String\", fieldName, keyName));\n+                methodSpecs.add(createHasMethod(fieldName, keyName));\n+                methodSpecs.add(createRemoveMethod(fieldName, keyName));\n                 break;\n             case \"float\":\n-                writeGetter(writer, \"float\", \"float\", fieldName, keyName);\n-                writeSetter(writer, \"float\", \"float\", fieldName, keyName);\n-                writeHas(writer, fieldName, keyName);\n-                writeRemove(writer, fieldName, keyName);\n+                methodSpecs.add(createGetterMethod(float.class, \"float\", fieldName, keyName));\n+                methodSpecs.add(createSetterMethod(float.class, \"float\", fieldName, keyName));\n+                methodSpecs.add(createHasMethod(fieldName, keyName));\n+                methodSpecs.add(createRemoveMethod(fieldName, keyName));\n                 break;\n             case \"int\":\n-                writeGetter(writer, \"int\", \"int\", fieldName, keyName);\n-                writeSetter(writer, \"int\", \"int\", fieldName, keyName);\n-                writeHas(writer, fieldName, keyName);\n-                writeRemove(writer, fieldName, keyName);\n+                methodSpecs.add(createGetterMethod(long.class, \"int\", fieldName, keyName));\n+                methodSpecs.add(createSetterMethod(long.class, \"int\", fieldName, keyName));\n+                methodSpecs.add(createHasMethod(fieldName, keyName));\n+                methodSpecs.add(createRemoveMethod(fieldName, keyName));\n                 break;\n             case \"long\":\n-                writeGetter(writer, \"long\", \"long\", fieldName, keyName);\n-                writeSetter(writer, \"long\", \"long\", fieldName, keyName);\n-                writeHas(writer, fieldName, keyName);\n-                writeRemove(writer, fieldName, keyName);\n+                methodSpecs.add(createGetterMethod(long.class, \"long\", fieldName, keyName));\n+                methodSpecs.add(createSetterMethod(long.class, \"long\", fieldName, keyName));\n+                methodSpecs.add(createHasMethod(fieldName, keyName));\n+                methodSpecs.add(createRemoveMethod(fieldName, keyName));\n                 break;\n             default:\n                 throw new IllegalArgumentException(fieldTypeFqcn + \" is not supported\");\n         }\n+        return methodSpecs;\n     }\n \n-    private void writeGetter(JavaWriter writer, String fieldTypeName, String argTypeOfSuperMethod, String fieldName, String keyName) throws IOException {\n+    private MethodSpec createGetterMethod(Type fieldType, String argTypeOfSuperMethod, String fieldName, String keyName) throws IOException {\n         String methodName = \"get\" + StringUtils.capitalize(fieldName);\n-        writer.beginMethod(fieldTypeName, methodName, EnumSet.of(Modifier.PUBLIC))\n-                .emitStatement(\"return get%s(\\\"%s\\\", %s)\", StringUtils.capitalize(argTypeOfSuperMethod), keyName, fieldName)\n-                .endMethod();\n+        String statement = String.format(\"return get%s(\\\"%s\\\", %s)\", StringUtils.capitalize(argTypeOfSuperMethod), keyName, fieldName);\n+\n+        return MethodSpec.methodBuilder(methodName)\n+                .returns(fieldType)\n+                .addStatement(statement)\n+                .build();\n     }\n \n-    private void writeSetter(JavaWriter writer, String fieldTypeName, String argTypeOfSuperMethod, String fieldName, String keyName) throws IOException {\n+    private MethodSpec createSetterMethod(Type fieldType, String argTypeOfSuperMethod, String fieldName, String keyName) throws IOException {\n         String methodName = \"put\" + StringUtils.capitalize(fieldName);\n-        writer.beginMethod(\"void\", methodName, EnumSet.of(Modifier.PUBLIC), fieldTypeName, fieldName)\n-                .emitStatement(\"put%s(\\\"%s\\\", %s)\", StringUtils.capitalize(argTypeOfSuperMethod), keyName, fieldName)\n-                .endMethod();\n+        String statement = String.format(\"put%s(\\\"%s\\\", %s)\", StringUtils.capitalize(argTypeOfSuperMethod), keyName, fieldName);\n+\n+        return MethodSpec.methodBuilder(methodName)\n+                .addModifiers(Modifier.PUBLIC)\n+                .returns(void.class)\n+                .addParameter(fieldType, fieldName)\n+                .addStatement(statement)\n+                .build();\n     }\n \n-    private void writeHas(JavaWriter writer, String fieldName, String keyName) throws IOException {\n+    private MethodSpec createHasMethod(String fieldName, String keyName) throws IOException {\n         String methodName = \"has\" + StringUtils.capitalize(fieldName);\n-        writer.beginMethod(\"boolean\", methodName, EnumSet.of(Modifier.PUBLIC))\n-                .emitStatement(\"return has(\\\"%s\\\")\", keyName)\n-                .endMethod();\n+        String statement = String.format(\"return has(\\\"%s\\\")\", keyName);\n+\n+        return MethodSpec.methodBuilder(methodName)\n+                .addModifiers(Modifier.PUBLIC)\n+                .returns(boolean.class)\n+                .addStatement(statement)\n+                .build();\n     }\n \n-    private void writeRemove(JavaWriter writer, String fieldName, String keyName) throws IOException {\n+    private MethodSpec createRemoveMethod(String fieldName, String keyName) throws IOException {\n         String methodName = \"remove\" + StringUtils.capitalize(fieldName);\n-        writer.beginMethod(\"void\", methodName, EnumSet.of(Modifier.PUBLIC))\n-                .emitStatement(\"remove(\\\"%s\\\")\", keyName)\n-                .endMethod();\n+        String statement = String.format(\"remove(\\\"%s\\\")\", keyName);","path":"compiler/src/main/java/com/rejasupotaro/android/kvs/internal/SchemaWriter.java","position":239,"original_position":239,"commit_id":"c7f2fd96f20e4269c12569acab7b4bc467098ce2","original_commit_id":"c7f2fd96f20e4269c12569acab7b4bc467098ce2","user":{"login":"draftcode","id":21878,"avatar_url":"https://avatars.githubusercontent.com/u/21878?v=3","gravatar_id":"","url":"https://api.github.com/users/draftcode","html_url":"https://github.com/draftcode","followers_url":"https://api.github.com/users/draftcode/followers","following_url":"https://api.github.com/users/draftcode/following{/other_user}","gists_url":"https://api.github.com/users/draftcode/gists{/gist_id}","starred_url":"https://api.github.com/users/draftcode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/draftcode/subscriptions","organizations_url":"https://api.github.com/users/draftcode/orgs","repos_url":"https://api.github.com/users/draftcode/repos","events_url":"https://api.github.com/users/draftcode/events{/privacy}","received_events_url":"https://api.github.com/users/draftcode/received_events","type":"User","site_admin":false},"body":"Use the JavaPoet's format like addStatement(\"remove(%S)\", keyName)","created_at":"2015-04-25T15:33:03Z","updated_at":"2015-04-25T15:33:03Z","html_url":"https://github.com/rejasupotaro/kvs-schema/pull/2#discussion_r29101321","pull_request_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2","_links":{"self":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/comments/29101321"},"html":{"href":"https://github.com/rejasupotaro/kvs-schema/pull/2#discussion_r29101321"},"pull_request":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2"}}},"pull_request":{"url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2","id":34103150,"html_url":"https://github.com/rejasupotaro/kvs-schema/pull/2","diff_url":"https://github.com/rejasupotaro/kvs-schema/pull/2.diff","patch_url":"https://github.com/rejasupotaro/kvs-schema/pull/2.patch","issue_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/2","number":2,"state":"open","locked":false,"title":"Replace JavaWriter  to JavaPoet","user":{"login":"rejasupotaro","id":883148,"avatar_url":"https://avatars.githubusercontent.com/u/883148?v=3","gravatar_id":"","url":"https://api.github.com/users/rejasupotaro","html_url":"https://github.com/rejasupotaro","followers_url":"https://api.github.com/users/rejasupotaro/followers","following_url":"https://api.github.com/users/rejasupotaro/following{/other_user}","gists_url":"https://api.github.com/users/rejasupotaro/gists{/gist_id}","starred_url":"https://api.github.com/users/rejasupotaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rejasupotaro/subscriptions","organizations_url":"https://api.github.com/users/rejasupotaro/orgs","repos_url":"https://api.github.com/users/rejasupotaro/repos","events_url":"https://api.github.com/users/rejasupotaro/events{/privacy}","received_events_url":"https://api.github.com/users/rejasupotaro/received_events","type":"User","site_admin":false},"body":"Jake created JavaPoet that is a new Java API for generating .java source files. So I replaced JavaWriter to JavaPoet.\r\n\r\n- [square/javapoet](https://github.com/square/javapoet)","created_at":"2015-04-25T08:49:29Z","updated_at":"2015-04-25T15:33:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5863ca41f2405083777f5f8ff11f844e7f3a1f26","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2/commits","review_comments_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2/comments","review_comment_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/2/comments","statuses_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/statuses/c7f2fd96f20e4269c12569acab7b4bc467098ce2","head":{"label":"rejasupotaro:replace_java_writer_to_java_poet","ref":"replace_java_writer_to_java_poet","sha":"c7f2fd96f20e4269c12569acab7b4bc467098ce2","user":{"login":"rejasupotaro","id":883148,"avatar_url":"https://avatars.githubusercontent.com/u/883148?v=3","gravatar_id":"","url":"https://api.github.com/users/rejasupotaro","html_url":"https://github.com/rejasupotaro","followers_url":"https://api.github.com/users/rejasupotaro/followers","following_url":"https://api.github.com/users/rejasupotaro/following{/other_user}","gists_url":"https://api.github.com/users/rejasupotaro/gists{/gist_id}","starred_url":"https://api.github.com/users/rejasupotaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rejasupotaro/subscriptions","organizations_url":"https://api.github.com/users/rejasupotaro/orgs","repos_url":"https://api.github.com/users/rejasupotaro/repos","events_url":"https://api.github.com/users/rejasupotaro/events{/privacy}","received_events_url":"https://api.github.com/users/rejasupotaro/received_events","type":"User","site_admin":false},"repo":{"id":27988806,"name":"kvs-schema","full_name":"rejasupotaro/kvs-schema","owner":{"login":"rejasupotaro","id":883148,"avatar_url":"https://avatars.githubusercontent.com/u/883148?v=3","gravatar_id":"","url":"https://api.github.com/users/rejasupotaro","html_url":"https://github.com/rejasupotaro","followers_url":"https://api.github.com/users/rejasupotaro/followers","following_url":"https://api.github.com/users/rejasupotaro/following{/other_user}","gists_url":"https://api.github.com/users/rejasupotaro/gists{/gist_id}","starred_url":"https://api.github.com/users/rejasupotaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rejasupotaro/subscriptions","organizations_url":"https://api.github.com/users/rejasupotaro/orgs","repos_url":"https://api.github.com/users/rejasupotaro/repos","events_url":"https://api.github.com/users/rejasupotaro/events{/privacy}","received_events_url":"https://api.github.com/users/rejasupotaro/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rejasupotaro/kvs-schema","description":"Code generation library to manage key-value data for Android","fork":false,"url":"https://api.github.com/repos/rejasupotaro/kvs-schema","forks_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/forks","keys_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/teams","hooks_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/hooks","issue_events_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/events{/number}","events_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/events","assignees_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/assignees{/user}","branches_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/branches{/branch}","tags_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/tags","blobs_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/refs{/sha}","trees_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/statuses/{sha}","languages_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/languages","stargazers_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/stargazers","contributors_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/contributors","subscribers_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/subscribers","subscription_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/subscription","commits_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/commits{/sha}","git_commits_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/commits{/sha}","comments_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/comments{/number}","issue_comment_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/comments{/number}","contents_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/contents/{+path}","compare_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/merges","archive_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/downloads","issues_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues{/number}","pulls_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls{/number}","milestones_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/milestones{/number}","notifications_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/labels{/name}","releases_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/releases{/id}","created_at":"2014-12-14T08:51:47Z","updated_at":"2015-04-21T02:09:16Z","pushed_at":"2015-04-25T08:49:30Z","git_url":"git://github.com/rejasupotaro/kvs-schema.git","ssh_url":"git@github.com:rejasupotaro/kvs-schema.git","clone_url":"https://github.com/rejasupotaro/kvs-schema.git","svn_url":"https://github.com/rejasupotaro/kvs-schema","homepage":"","size":496,"stargazers_count":8,"watchers_count":8,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":8,"default_branch":"master"}},"base":{"label":"rejasupotaro:master","ref":"master","sha":"c138b5ff501a030e92c92567347544f9a2f9542b","user":{"login":"rejasupotaro","id":883148,"avatar_url":"https://avatars.githubusercontent.com/u/883148?v=3","gravatar_id":"","url":"https://api.github.com/users/rejasupotaro","html_url":"https://github.com/rejasupotaro","followers_url":"https://api.github.com/users/rejasupotaro/followers","following_url":"https://api.github.com/users/rejasupotaro/following{/other_user}","gists_url":"https://api.github.com/users/rejasupotaro/gists{/gist_id}","starred_url":"https://api.github.com/users/rejasupotaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rejasupotaro/subscriptions","organizations_url":"https://api.github.com/users/rejasupotaro/orgs","repos_url":"https://api.github.com/users/rejasupotaro/repos","events_url":"https://api.github.com/users/rejasupotaro/events{/privacy}","received_events_url":"https://api.github.com/users/rejasupotaro/received_events","type":"User","site_admin":false},"repo":{"id":27988806,"name":"kvs-schema","full_name":"rejasupotaro/kvs-schema","owner":{"login":"rejasupotaro","id":883148,"avatar_url":"https://avatars.githubusercontent.com/u/883148?v=3","gravatar_id":"","url":"https://api.github.com/users/rejasupotaro","html_url":"https://github.com/rejasupotaro","followers_url":"https://api.github.com/users/rejasupotaro/followers","following_url":"https://api.github.com/users/rejasupotaro/following{/other_user}","gists_url":"https://api.github.com/users/rejasupotaro/gists{/gist_id}","starred_url":"https://api.github.com/users/rejasupotaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rejasupotaro/subscriptions","organizations_url":"https://api.github.com/users/rejasupotaro/orgs","repos_url":"https://api.github.com/users/rejasupotaro/repos","events_url":"https://api.github.com/users/rejasupotaro/events{/privacy}","received_events_url":"https://api.github.com/users/rejasupotaro/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rejasupotaro/kvs-schema","description":"Code generation library to manage key-value data for Android","fork":false,"url":"https://api.github.com/repos/rejasupotaro/kvs-schema","forks_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/forks","keys_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/teams","hooks_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/hooks","issue_events_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/events{/number}","events_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/events","assignees_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/assignees{/user}","branches_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/branches{/branch}","tags_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/tags","blobs_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/refs{/sha}","trees_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/statuses/{sha}","languages_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/languages","stargazers_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/stargazers","contributors_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/contributors","subscribers_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/subscribers","subscription_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/subscription","commits_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/commits{/sha}","git_commits_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/git/commits{/sha}","comments_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/comments{/number}","issue_comment_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/comments{/number}","contents_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/contents/{+path}","compare_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/merges","archive_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/downloads","issues_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues{/number}","pulls_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls{/number}","milestones_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/milestones{/number}","notifications_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/labels{/name}","releases_url":"https://api.github.com/repos/rejasupotaro/kvs-schema/releases{/id}","created_at":"2014-12-14T08:51:47Z","updated_at":"2015-04-21T02:09:16Z","pushed_at":"2015-04-25T08:49:30Z","git_url":"git://github.com/rejasupotaro/kvs-schema.git","ssh_url":"git@github.com:rejasupotaro/kvs-schema.git","clone_url":"https://github.com/rejasupotaro/kvs-schema.git","svn_url":"https://github.com/rejasupotaro/kvs-schema","homepage":"","size":496,"stargazers_count":8,"watchers_count":8,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2"},"html":{"href":"https://github.com/rejasupotaro/kvs-schema/pull/2"},"issue":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/2"},"comments":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/rejasupotaro/kvs-schema/statuses/c7f2fd96f20e4269c12569acab7b4bc467098ce2"}}}}