| 

.NET C# Java Javascript Exception

Anlegen von ClosureMetaMethod und CachedMethod in Groovy 1.6

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Anlegen von ClosureMetaMethod und CachedMethod in Groovy 1.6

resmai - 16.04.2009 10:19
Hallo Y'all,

in Groovy 1.5 konnte man jeder Klasse (hier: Double) neue/eigene Methoden über die ClosureMetaMethod einfach hinzufügen.
In Groovy 1.6 hat sich die Signatur geändert, es wird zusätzlich eine CachedMethod verlangt.

Wie komme ich an eine solche CachedMethod , was macht sie, wie kann ich sie selbst anlegen?
Oder einfacher: Was mache ich falsch? Wie fügt man in Groovy 1.6 Methoden hinzu?


def meta = Double.metaClass
meta.setInitialized(false)

// Groovy 1.5.7 (zweiter Parameter (hier Double.class) als declaringClass nicht notwendig)
//meta.addMetaMethod(new ClosureMetaMethod("isInRange", Double.class, { 
//      Range ist meine Klasse, kein Groovy
//	Range range -> return range.isInRange(delegate)
//}))

// Groovy 1.6.0  (zweiter Parameter (hier Double.class) als declaringClass nicht notwendig)
meta.addMetaMethod(new ClosureMetaMethod("isInRange", Double.class, { 
//      Range ist meine Klasse, kein Groovy
	Range range -> return range.isInRange(delegate)
}, new CachedMethod(meta.getClassInfo().getCachedClass(), meta.getClassInfo().getCachedClass().getMethods()[0])))

meta.initialize()


Kann jemand helfen?

LG
resmai


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Anlegen von ClosureMetaMethod und CachedMethod in Groovy 1.6" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.