Estoy tratando de usar el bloque con en Groovy para inicializar fácilmente mi clase, pero me aparece el siguiente error. ¿Alguien podría decirme qué estoy haciendo mal?groovy "con" consulta de uso de bloque
MyXMLTemplate template = new MyXMLTemplate().with {
TxId = 'mnop'
oapTxId = 'abcd'
}
El error que consigo es:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'abcd' with class 'java.lang.String' to class 'org.example.MyXMLTemplate'
at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:331)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:599)
estoy usando maravilloso 1.8.0
sí esto funciona! La documentación no tiene esto, sin embargo ... :( – Abe
¿Qué página de la documentación? El sitio principal de Groovy es un wiki, así que se puede cambiar para que sea correcto :-) –
Debería haber dicho "Javadoc". He descargado la fuente y obtengo esta documentación incompleta en el cursor del mouse .-> Esto se usa comúnmente para simplificar la creación de objetos, como en este ejemplo: def p = new Person(). Con {firstName = 'John' lastName = 'Doe '} – Abe