2011-08-01 14 views
5

W aplikacji Groovy, jeśli chcesz zainicjować metaclasy, gdzie jest najlepsze miejsce do umieszczenia tych inicjalizacji? W aplikacjach Grails użyłem pliku Bootstrap.groovy. Czy jest coś podobnego w przypadku dowolnej aplikacji Groovy?Gdzie poprawnie zainicjować metamorfozy Groovy?

Edycja: Aby wyjaśnić, szukam nieinwazyjnego sposobu robienia tego, co zagwarantuje, że zostanie wywołany podczas uruchamiania głównej aplikacji, a także w testach jednostkowych powiązanego kodu.

Odpowiedz

8

Nie ma to jak Bootstrap.groovy do standardowych zastosowań porywające, ale to nie przeszkadza robisz to samo w swojej aplikacji i posiadające klasę lub metody, która jest wywoływana raz na starcie, w którym można dodać inicjalizacji metaklasa


dodane komentarze poniżej:

można napisać DelegatingMetaClass dla każdej klasy, którą chcesz ozdobić, i umieścić go w pakiecie groovy.runtime.metaclass.[YOURPACKAGE].[YOURCLASS]MetaClass

to zrobić (druga pozycja na stronie)

+0

Czy istnieje nieinwazyjny sposób robienia tego, który gwarantuje, że zostanie wywołany podczas uruchamiania głównej aplikacji, a także w testach jednostkowych powiązanego kodu? –

+1

@Alan Możesz napisać DelegatingMetaClass dla każdej klasy, którą chcesz udekorować, i umieścić ją w pakiecie 'groovy.runtime.metaclass. [YOURPACKAGE]. [YOURCLASS] MetaClass' [ta strona wyjaśnia kroki wymagane do tego] (http://groovy.codehaus.org/Using+delegating+Meta+Class) (druga pozycja na stronie) –

+0

@tim IMO, powyższy komentarz powinien zostać przeniesiony do samej odpowiedzi –