sun-codemodel

    3熱度

    1回答

    我正在jsonschema2pojo中編寫自定義註釋器,以便調整此代碼生成器如何使用Jackson註釋對生成的類進行註釋。 爲了簡化用例,我有一個JCLASS手頭已經是批註與 JsonInclude(JsonInclude.Include.NON_NULL) ,我想用來替換: JsonInclude(JsonInclude.Include.NON_EMPTY) 我使用com.sun.cod

    0熱度

    1回答

    我正在使用JCodemodel動態生成Java類。下面是創建一個switch語句的代碼,其默認情況是拋出一個Exception。 JSwitch valueswitch; AbstractJClass exception = ref(IllegalArgumentException.class); valueswitch._default() .body() .

    1熱度

    1回答

    我的代碼: JCodeModel cm = new JCodeModel(); cm._class(JMod.ABSTRACT, "TestClass", ClassType.CLASS); cm.build(new File(".")); 不管我寫mods或ClassType參數,結果始終是一個public class。 如何創建抽象類?

    0熱度

    2回答

    我在玩JCodeModel並試圖創建一個類;由於this link我能夠拿出這個: public final class CodeModelTest { private CodeModelTest() { throw new Error("no instantiation is permitted"); } public static voi

    1熱度

    1回答

    我要生成使用Sun的CodeModel while ((sbt = reader.readLine()) != null) { } 然而,當我寫一些很常見的代碼: JWhileLoop whileJsonBuilder = block._while(JExpr .ref("partJsonString").assign(JExpr.ref("reader"))

    0熱度

    1回答

    我試圖使用jsonSchema創建POJO。 我發現了一個名爲jsonschema2pojo的項目,除了幾個問題外,這個項目似乎很合適。 我願意分叉項目並添加一些自定義項(例如自定義註釋和可能的方法)。 該項目使用com.sun.codemodel來構建類。 由於生成的代碼將投入生產,因此我需要在文件的開頭添加版權聲明。 我還沒有在jsonschema2pojo或codemodel中找到任何解決方

    0熱度

    1回答

    我想是這樣的: public @interface Unfinished { String value(); String value() default "someVal"; } 的問題是,因爲它看起來像這樣,我不能使用JFieldVar: String value; //no parentheses String value = "someVal"; //no pa

    0熱度

    1回答

    我要生成象下面這樣一些代碼: AbstractSomeClass<?> someClassObj = new AbstractSomeClass<MyConcreteType> { ... } 我試過如下:下面 JDefinedClass anonymousSomeClass = codeModel.anonymousClass(AbstractSomeClass.class);

    1熱度

    2回答

    如何從內部靜態類擴展生成的類? 舉例來說,我有 class Foo { static class Bar { } } 而且我想我生成的類從酒吧延長 JCodeModel codeModel = new JCodeModel() JClass aClass = codeModel.ref("somePckg.Foo$Bar") JPackage jp = codeMod

    1熱度

    1回答

    我正在使用Codemodel庫進行java類生成。有沒有一種方法來生成一個通用的方法調用看起來像這樣: clazz.<String>get(value) 有一定的只是使用下面的表達式鑄造返回結果的正確類型的方式: JExpr.cast(stringType, clazz.invoke("get").arg(value)) 這結果在 (String) clazz.get(value) 但