2011-08-01 32 views
5

Groovy uygulamasında, meta sınıfları başlatmak istiyorsanız, bu başlatmaları yapmak için en uygun yer neresidir? Grails uygulamalarında, Bootstrap.groovy dosyasını kullandım. Keyfi bir Groovy uygulaması için benzer bir şey var mı?Groovy metaclass'ları doğru şekilde nereden başlatabilirsiniz?

Düzelt: Açıklığa kavuşturmak için, ana uygulamanın yanı sıra ilgili kodun birim testlerini çalıştırırken çağrılmasını garanti edecek bir müdahaleci olmayan bir yöntem arıyorum.

cevap

8

Orada standart harika uygulamalar için Bootstrap.groovy gibi değil, ama bu uygulamanızda aynı şeyi yapıyor ve metaclass başlatma ekleyebilir başlangıçta kez çağrılan bir sınıf veya yöntem sahip durmuyor

altındaki yorumlardan

Eklendi: Daha süslemek istediğiniz her sınıf için bir DelegatingMetaClass yazmak ve pakette yerleştirebilirsiniz

groovy.runtime.metaclass.[YOURPACKAGE].[YOURCLASS]MetaClass

This page explains the steps required Bunu yapmak için (sayfadaki 2. madde)

+0

Bunu, ana uygulamanın yanı sıra ilgili kodun birim testlerini çalıştırırken çağrılmasını garantileyen, bunu yapmanın müdahaleci olmayan bir yolu var mı? –

+1

@Alan Süslemek istediğiniz her sınıf için bir DelegatingMetaClass yazabilir ve 'groovy.runtime.metaclass. [YOURPACKAGE] paketine yerleştirebilirsiniz. [YOURCLASS] MetaClass' [bu sayfa bunu yapmak için gerekli adımları açıklamaktadır] (http://groovy.codehaus.org/Using+the+Delegating+Meta+Class) (sayfadaki 2. öğe) –

+0

@tim IMO, yukarıdaki yorum –