[英]Using Groovy metaClass to Implement Special Methods
我正在嘗試在Groovy中修改JSONObject的元類,使其盡可能像常規的Groovy映射一樣運行。 當我在元類中實現方法時,其中一些方法很簡單,如下例中的JSONObject.metaClass.size。 JSONObject有一個length()方法,我只是將它連接到一個新的size ...
[英]Using Groovy metaClass to Implement Special Methods
我正在嘗試在Groovy中修改JSONObject的元類,使其盡可能像常規的Groovy映射一樣運行。 當我在元類中實現方法時,其中一些方法很簡單,如下例中的JSONObject.metaClass.size。 JSONObject有一個length()方法,我只是將它連接到一個新的size ...
[英]ExpandoMetaClass in Grails to override behavior in a Java library?
我將Grails與第三方Java庫一起使用,並且我想覆蓋其中一個庫中的行為。 我嘗試在Bootstrap.groovy中執行此操作,如下所示: 我知道一個事實,即調用了SimpleStringFilter類中的passesFilter方法,但是我已經在上面的代碼中設置了一個斷點,而 ...
[英]How to keep service's metaClass from being overridden
我正在嘗試在集成測試中模擬對外部服務的調用,該服務在grails Webflow中使用。 該服務不在流或會話范圍內,而是通過依賴項注入添加的,請參見此處 。 我設法找到一種方法,可以通過使用ExpandoMetaClass替換其metaClass來覆蓋服務。 這些更改僅在單獨運行測試時 ...
[英]How to change a class's metaClass per test
我正在使用ExpandoMetaClass來使服務始終在集成測試中返回成功,但我希望有一個實際上失敗的測試。 ExpandoMetaClass的使用示例: 注意:目前尚未為控制器定義服務,但由於它是一個Spring bean,引用諸如someService.accessAnothe ...
[英]What's an elegant way to have a reusable metaclass code in Groovy?
我想對某些類應用元編程轉換,比如說添加printXxx方法,如下所示: 我有一個大概的想法,一旦有了元類,該怎么做: 現在如何將這段代碼變成可重用的“庫”? 我想做類似的事情: 要么 ...
[英]Grails: ExpandoMetaClass for a method
考慮一個方法 如何為此編寫 ExpandoMetaClass ...
[英]Can you use Groovy meta programming to override a private method on a Java class
我正在嘗試使用元編程覆蓋Java類上的私有方法。 代碼看起來像這樣: 問題是沒有調用doSomethingCrazyExpensive的重寫實現-我認為這是因為private方法是在內部由init()方法調用的,而不是通過metaClass調用的。 如果我直接調用myProxy.do ...
[英]Scope of Groovy's ExpandoMetaClass?
Groovy公開了一個ExpandoMetaClass ,它允許您動態地向POJO添加實例和類方法/屬性。 我想用它來為我的一個Java類添加一個實例方法: 這相當於重構Fizz類具有: 我的問題: 這是否只將doStuff(String blah)添加到Fizz這個特定 ...
[英]Result of Replaced/Overriden Parameterless Method Not Passed to the Constructor
我試圖通過替換該類中用於設置屬性的方法來更改groovy類的構造函數的行為,但是該屬性未設置為期望值。 ...
[英]Overriding event closure on Grails GORM domain class for unit testing
我正在開發一個新的Grails項目,最近注意到Spring Security Core生成的User類中的默認約定現在通過beforeInsert / Update事件自動編碼密碼。 這是一種很好,干凈,干燥的編碼方式,也讓人無法忘記這樣做。 但是,現在在嘗試編寫一些使用所述User類的 ...
[英]Override JList toString method with groovy expando metaclass to display instances of groovy classes
在groovy swing應用程序中,我有一個班級代表教師,如下所示: 德森特·格羅維 我使用toString方法在JTable中顯示教師姓名(帶有nombre)以及其他某些值。 想法是在表上顯示其中的某些內容,並在JDialog窗口上顯示其余內容,以執行子CRUD操作。 ...
[英]Partial Mocking Class with Multiple Static Methods with GMock
我正在使用GMock向我們現有的Java項目中添加一些單元測試。 我們有多個地方需要測試的方法是靜態方法,它們在我們要測試的方法中利用了其他靜態方法。 我希望能夠部分模擬該類,幾乎是該類上除初始測試入口點以外的所有靜態方法。 例如: 我希望我可以模擬第二個靜態方法,但是一旦 ...
[英]Copy Groovy class properties
我想以通用方式將對象屬性復制到另一個對象 (如果目標對象上存在屬性,我將其從源對象復制)。 我的代碼使用ExpandoMetaClass工作正常,但我不喜歡這個解決方案。 有沒有其他方法可以做到這一點? ...
[英]Getting org.codehaus.groovy.control.MultipleCompilationErrorsException using gmaven plugin
這是我的示例程序,使用mvn進行編譯時會拋出編譯錯誤,我正在嘗試使用ExpandoMetaClass添加靜態方法 - 我正在使用gmaven插件來編譯項目,同時發出mvn compile .......... 這是我的pom.xml條目gmaven構建插件條目 ...
[英]using ExpandoMetaclass in groovy print result and null value also
當我嘗試使用expandometaclass技術運行時,它給我兩個輸出一個所需的結果第二個“null”作為輸出,從哪里獲取null? 輸出: 為什么這個progranme也打印null作為輸出 ...
[英]ExpandoMetaClass - Static Methods + singleton + overloaded functions
使用ExpandoMetaClass可以動態添加靜態方法,如何在Singleton對象中使用此ExpandoMetaClass,其中包含重載的靜態函數,假設示例程序需要使用ExpandoMetaClass重寫,需要在下面的程序中進行更改 ...
[英]Where to properly initialize Groovy metaclasses?
在Groovy應用程序中,如果要初始化元類,那么放置這些初始化的最佳位置在哪里? 在Grails應用程序中,我使用了Bootstrap.groovy文件。 是否有類似的任意Groovy應用程序? 編輯:為了澄清,我正在尋找一種非侵入性的方法來保證在運行主應用程序時以及在相關代碼的單元測 ...
[英]Passing delegate through nested closures in Groovy
我正在創建一個接受 Groovy 閉包作為標記的構建器。 但是,我無法捕獲嵌套閉包的方法調用。 有什么辦法可以為嵌套閉包設置委托屬性嗎? ...
[英]In Groovy, When Does It Makes Sense To Use An Expando vs the 'as' operator and Closures?
Groovy是一種很棒的語言,提供了許多不同的選擇。 在考慮單元測試時,使用Expando對象與使用閉包的“as”運算符何時有意義? http://groovy.codehaus.org/Developer+Testing+using+Maps+and+Expandos+instea ...
[英]How to add a new closure to a class in groovy
從Snipplr 好的,這里是腳本代碼,在注釋中是問題和引發的異常 ...