Вы можете использовать функцию groovy runtime mixin
, чтобы постоянно смешивать в категории. Class.mixin добавляет применимые методы в категорию к метаклассу класса. Примените его к классам и интерфейсам, которые отображаются в качестве первого параметра для метода каждой категории, и категория будет доступна без включения кода в блок use(DOMCategory)
.
Пример:
import org.w3c.dom.*
import groovy.xml.DOMBuilder
import groovy.xml.dom.DOMCategory
[Node, NodeList, NamedNodeMap, DOMCategory.NodesHolder]*.mixin DOMCategory
def sampleXml = '''
<sample>
<someNode anAttribute='foo'>bar</someNode>
</sample>
'''
def sample = DOMBuilder.parse(new StringReader(sampleXml)).documentElement
println sample.someNode*.tagName
println sample.someNode[0].'@anAttribute'
println sample.someNode[0].attributes['anAttribute']
Дает:
[someNode]
foo
foo
Вы можете поставить то, что вы пытались что unsatisfatory в этом вопросе? –