Pregunta

Tengo problemas para usar propertyMissing() Juntos con GroovyShell

Tengo los archivos

/**
 * @file FooScript.groovy
 */
abstract class FooScript extends Script {

    def propertyMissing(String name) {
        "This is the property '$name'"
    }

    def propertyMissing(String name, value) {
        println "You tried to set property '$name' to '$value'"
    }
}

y

/**
 * @file FooScriptTest.groovy
 */

import org.codehaus.groovy.control.*


def fooScript = """\
                foo = 'bar'
                println foo"""

def conf = new CompilerConfiguration()
conf.setScriptBaseClass("FooScript")
def sh = new GroovyShell(conf)

sh.evaluate fooScript

Cuando corro FooScriptTest.groovy Espero la salida

Intentaste configurar la propiedad 'foo' a 'bar'

Esta es la propiedad 'foo'

Lo que obtengo es:

bar

Parece mi propertyMissing() se anula por el predeterminado. ¿Cómo evito esto?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top