This idea came solely from seeing what Grails's using for interception.
The idea is simple, like ActiveRecord pattern used in Grails (e.g., find*)
In Grails, users'd like to have before, after interceptions for their controllers, domain classes, etc.
Like this:
class MyController {
static beforeInterceptor = ['*', this.&auth]
}
and this:
class MyDomain {
String field1
static beforeUpdate = {
}
}
So Groovy AOP would support these kind of functionalities with conventions in its aspect language like the following for controllers:
MyController {
static aspect {
beforeAll { println 'test' } // = before(call:'*') { }
beforeUpdate { println 'test' } // = before(call:'update') {}
}
}
and following for domain class dynamic methods:
MyDomain {
static aspect = {
beforeSave { }
beforeUpdate { }
afterUpdate { }
afterSave { }
beforeNew {}
}
}
To sum up here, what Groovy AOP should support in its aspect language are before*, after*, and around* to simplify the use of AOP in practice.
No comments:
Post a Comment