Ich habe die folgende Klasse, die eine Unterklasse von HashMap
ist und Getter und Setter für einige Einträge in der Karte hat.Eigenschaft Zugriff auf eine Unterklasse von HashMap
Bitte beachten Sie: Diese Klasse von einem Rahmen kommt ich, so kann ich es nicht
class Mapish extends HashMap {
static final PROPERTY_KEY = 'PROP'
def getProperty() {
get(PROPERTY_KEY)
}
def setProperty(def value) {
put(PROPERTY_KEY, value)
}
}
Ist es möglich, die Groovy Map Eigenschaft Notation für diese Klasse ändern, um zu deaktivieren, so dass die Immobilie Zugriff ruft den Getter auf? Mit anderen Worten, um das Folgende passieren zu lassen?
def m = new Mapish()
m.setProperty('value')
assert m.property == 'value' // same as m.getProperty()
und die folgenden würde werfen groovy.lang.MissingPropertyException
m.PROP
Vielen Dank für die Antwort, aber mein Problem ist, dass ich nicht die Klasse ändern kann, wie es aus einer Bibliothek kommen, die das Anwendung verwendet –
Ahh, möchten Sie möglicherweise diese Informationen zu Ihrer Frage Aussage auch hinzufügen. Egal, sah es einfach. – BalRog
Es ist bereits am Anfang angegeben, aber ich werde die Frage bearbeiten, um es sichtbarer zu machen –