def output = { it -> println it } class StringHelper {} class DomainService {} ClassLoader parent = this.getClass().getClassLoader() def classes = parent.getLoadedClasses() def helpers = classes.findAll { it.name.endsWith('Helper') } def services = classes.findAll { it.name.endsWith('Service') } helpers.each { helper -> helper.metaClass."handleSomething" = { println "handleSomething" } } services.each { service -> service.metaClass."save" = { println "save" } service.metaClass."load" = { println "load" } service.metaClass."delete" = { println "delete" } } def stringHelper = new StringHelper() stringHelper.handleSomething() def domainService = new DomainService() domainService.save() domainService.load() domainService.delete()