Ich versuche, die Eigenschaften (d. H. Alle Eigenschaften, die eine Getter-Methode haben) mit Groovy aufzulisten. Ich kann dies mit myObj.properties.each { k,v -> println v}
tun, und das funktioniert gut. Aber das druckt auch für die gesamte Superklassenhierarchie. Wenn ich nur die Eigenschaften für die aktuelle Klasse (und nicht die Super-Klasse) auflisten möchte, ist das möglich?Groovy Liste alle Eigenschaften für Klasse
5
A
Antwort
3
Hier ist ein Weg, den ich gehackt habe, aber vielleicht können Sie darauf aufbauen.
class Abc {
def a
def b
}
class Xyz extends Abc {
def c
def d
}
def xyz = new Xyz(c:1,d:2)
xyz.metaClass.methods.findAll{it.declaringClass.name == xyz.class.name}.each {
if(it.name.startsWith("get")) {
println xyz.metaClass.invokeMethod(xyz.class,xyz,it.name,null,false,true)
}
}
1
Versuchen mit den folgenden:
myObj.declaredFields.collect{it.name}
+0
Das wird Dinge bekommen, die keine Eigenschaften sind. Es wird alle Felder bekommen - ich habe nur mit Gettern nach Dingen gesucht. –
Verwandte Themen
- 1. Liste alle Eigenschaften mit [XmlAttribute] der gegebenen Klasse
- 2. Groovy: wie Eigenschaften in Basisklasse
- 3. groovy Schnittstelle Methode zu Eigenschaften
- 4. Generische Klasse zu CSV (alle Eigenschaften)
- 5. Wie eine Liste aller erweiterten Eigenschaften für alle Objekte bekommen
- 6. Wie durchlaufen Sie alle Eigenschaften einer Klasse?
- 7. Was sind "Eigenschaften" in Groovy?
- 8. JavaScript Getter für alle Eigenschaften
- 9. Ich möchte alle öffentlichen Eigenschaften einer Klasse/Schnittstelle auflisten
- 10. groovy statische Klasse
- 11. Erweiterung Groovy String-Klasse
- 12. mockForConstraintsTests abstrakte groovy Klasse
- 13. Wie erhalten Sie alle Eigenschaftsnamen einer Groovy-Klasse?
- 14. log4j: Liste der Eigenschaften für jeden Appender?
- 15. Finden Sie alle Indizes eines Elements in einer Groovy-Liste
- 16. Dynamische JsonIgnore für Eigenschaften innerhalb einer Liste
- 17. Iterate durch Eigenschaften der statischen Klasse, um Liste aufzufüllen?
- 18. abrufen Groovy Schliesse/Methodenparameter Liste
- 19. müssen alle Eigenschaften in Klasse mit IDataErrorInfo validiert werden Implementiert
- 20. GetProperties() alle Eigenschaften für eine Schnittstellenvererbungshierarchie zurückzukehren
- 21. AutoMapper Konfiguration Ortszeit für alle Datetime-Eigenschaften
- 22. Reflection-Klasse, um alle Eigenschaften eines Objekts zu erhalten
- 23. Jenkins groovy Klassenpfad Problem - Klasse
- 24. Wie Groovy Klasse in Eclipse
- 25. Groovy - Klasse Feld transient Modifier metaclass
- 26. Modying Eigenschaften einer Klasse
- 27. Wie bekomme ich die Liste der Eigenschaften einer Klasse?
- 28. Groovy/Grails: Wie die Liste der Objekte, die von id
- 29. Groovy/Grails Iteration der Liste und Formatierung der Nummer mit NumberFormat (US-Stil)
- 30. Fehler: Fehlende Klasse Eigenschaften verwandeln
Dank. Das habe ich mir gedacht, aber ich hatte gehofft, dass es einen "groovigeren" Weg gibt. –