Нет, я не верю, что это возможно. Также не было в Java (вы можете узнать имя / метод вызывающего класса, используя какой-то ужасный хакерской трассировки стека , но не экземпляр самого класса)
Редактировать ...
Это может быть возможно с категорией (но у меня нет опыта работы с SoapUI, поэтому я не знаю, подойдет ли этот метод)
Скажем, у нас есть класс Example
, определенный так:
class Example {
String name
}
Затем мы можем написать класс, очень похожий на ваш пример кода, который в этом случае установит делегат замыкания, а замыкание выведет свойство name делегата (как мы установили разрешение ). стратегия до DELEGATE_ONLY
)
class AssetAddingCategory {
static def addAsserts( that ) {
def closure = {
"Name of object: $name"
}
closure.delegate = that
closure.resolveStrategy = Closure.DELEGATE_ONLY
closure.call()
}
}
Позже в нашем коде можно сделать:
def tim = new Example( name:'tim' )
use( AssetAddingCategory ) {
println tim.addAsserts()
}
И это распечатает
Name of object: tim