private static void adjustQuickSearch() throws Exception { JavaClassSource javaClass = Roaster.parse(JavaClassSource.class, new File(QUICK_SEARCH_PATH)); // Set all field public javaClass.getField("id").setPublic(); javaClass.getField("name").setPublic(); javaClass.getField("mode").setPublic(); javaClass.getField("category").setPublic(); javaClass.getField("keyword").setPublic(); javaClass.getField("advanceSearch").setPublic(); javaClass.getField("minRating").setPublic(); javaClass.getField("time").setPublic(); javaClass.addMethod("\t@Override\n" + "\tpublic String toString() {\n" + "\t\treturn name;\n" + "\t}"); FileWriter fileWriter = new FileWriter(QUICK_SEARCH_PATH); fileWriter.write(javaClass.toString()); fileWriter.close(); }
private static void adjustFilter() throws Exception { JavaClassSource javaClass = Roaster.parse(JavaClassSource.class, new File(FILTER_PATH)); // Set field public javaClass.getField("mode").setPublic(); javaClass.getField("text").setPublic(); javaClass.getField("enable").setPublic(); // Add hashCode method and equals method javaClass.addImport("com.hippo.util.HashCodeUtils"); javaClass.addMethod("\t@Override\n" + "\tpublic int hashCode() {\n" + "\t\treturn HashCodeUtils.hashCode(mode, text);\n" + "\t}"); javaClass.addImport("com.hippo.yorozuya.ObjectUtils"); javaClass.addMethod("\t@Override\n" + "\tpublic boolean equals(Object o) {\n" + "\t\tif (!(o instanceof Filter)) {\n" + "\t\t\treturn false;\n" + "\t\t}\n" + "\n" + "\t\tFilter filter = (Filter) o;\n" + "\t\treturn filter.mode == mode && ObjectUtils.equal(filter.text, text);\n" + "\t}"); FileWriter fileWriter = new FileWriter(FILTER_PATH); fileWriter.write(javaClass.toString()); fileWriter.close(); } }
private static void adjustLocalFavoriteInfo() throws Exception { JavaClassSource javaClass = Roaster.parse(JavaClassSource.class, new File(LOCAL_FAVORITE_INFO_PATH)); javaClass.removeField(javaClass.getField("gid")); javaClass.removeField(javaClass.getField("token")); javaClass.removeField(javaClass.getField("title")); javaClass.removeField(javaClass.getField("titleJpn")); javaClass.removeField(javaClass.getField("thumb")); javaClass.removeField(javaClass.getField("category")); javaClass.removeField(javaClass.getField("posted")); javaClass.removeField(javaClass.getField("uploader")); javaClass.removeField(javaClass.getField("rating")); javaClass.removeField(javaClass.getField("simpleLanguage")); javaClass.getField("time").setPublic();
private static void adjustHistoryInfo() throws Exception { JavaClassSource javaClass = Roaster.parse(JavaClassSource.class, new File(HISTORY_INFO_PATH)); javaClass.removeField(javaClass.getField("gid")); javaClass.removeField(javaClass.getField("token")); javaClass.removeField(javaClass.getField("title")); javaClass.removeField(javaClass.getField("titleJpn")); javaClass.removeField(javaClass.getField("thumb")); javaClass.removeField(javaClass.getField("category")); javaClass.removeField(javaClass.getField("posted")); javaClass.removeField(javaClass.getField("uploader")); javaClass.removeField(javaClass.getField("rating")); javaClass.removeField(javaClass.getField("simpleLanguage")); javaClass.getField("mode").setPublic(); javaClass.getField("time").setPublic();
private static void adjustBookmarkInfo() throws Exception { JavaClassSource javaClass = Roaster.parse(JavaClassSource.class, new File(BOOKMARK_INFO_PATH)); javaClass.removeField(javaClass.getField("gid")); javaClass.removeField(javaClass.getField("token")); javaClass.removeField(javaClass.getField("title")); javaClass.removeField(javaClass.getField("titleJpn")); javaClass.removeField(javaClass.getField("thumb")); javaClass.removeField(javaClass.getField("category")); javaClass.removeField(javaClass.getField("posted")); javaClass.removeField(javaClass.getField("uploader")); javaClass.removeField(javaClass.getField("rating")); javaClass.removeField(javaClass.getField("simpleLanguage")); javaClass.getField("page").setPublic(); javaClass.getField("time").setPublic();
private static void adjustDownloadInfo() throws Exception { JavaClassSource javaClass = Roaster.parse(JavaClassSource.class, new File(DOWNLOAD_INFO_PATH)); javaClass.removeField(javaClass.getField("gid")); javaClass.removeField(javaClass.getField("token")); javaClass.removeField(javaClass.getField("title")); javaClass.removeField(javaClass.getField("titleJpn")); javaClass.removeField(javaClass.getField("thumb")); javaClass.removeField(javaClass.getField("category")); javaClass.removeField(javaClass.getField("posted")); javaClass.removeField(javaClass.getField("uploader")); javaClass.removeField(javaClass.getField("rating")); javaClass.removeField(javaClass.getField("simpleLanguage")); javaClass.getField("state").setPublic(); javaClass.getField("legacy").setPublic(); javaClass.getField("time").setPublic(); javaClass.getField("label").setPublic();
for (String fieldString : fields.getValue()) selectedFields.add(targetClass.getField(fieldString));
/** * @param javaType * @return */ private FieldSource<JavaClassSource> getOrCreateSerialVersionUID(JavaClassSource javaType) { FieldSource<JavaClassSource> field = javaType.getField(SERIAL_VERSION_FIELD_NAME); if (field == null) { // private static final long serialVersionUID = 1L; field = javaType.addField().setPrivate().setStatic(true).setFinal(true).setType(long.class) .setName(SERIAL_VERSION_FIELD_NAME); } return field; }
/** * Takes care of field and the corresponding setter/getter removal. */ public void removeField(JavaClassSource javaClassSource, String fieldName, ClassTypeResolver classTypeResolver) throws Exception { logger.debug("Removing field: " + fieldName + ", from class: " + javaClassSource.getName()); FieldSource<JavaClassSource> field; GenerationTools genTools = new GenerationTools(); String methodName; field = javaClassSource.getField(fieldName); if (field != null) { //check if the class has a setter/getter for the given field. Class<?> fieldClass = classTypeResolver.resolveType(field.getType().getName()); methodName = genTools.toJavaGetter(fieldName, fieldClass.getName()); removeMethodByParamsClass(javaClassSource, methodName); methodName = genTools.toJavaSetter(fieldName); removeMethodByParamsClass(javaClassSource, methodName, fieldClass); //finally remove the field. javaClassSource.removeField(field); } else { logger.debug("Field field: " + fieldName + " was not found in class: " + javaClassSource.getName()); } }
annotation = temp.getAnnotation(annotationClassName); } else { annotation = temp.getField("dummy").getAnnotation(annotationClassName);
FieldSource<JavaClassSource> currentField; currentField = javaClassSource.getField(fieldName); Type currentType = currentField.getType();
FieldSource<JavaClassSource> field; field = javaClassSource.getField(fieldName); Type oldType = field.getType();