/
PersonAuthority.groovy.template
59 lines (45 loc) · 2.28 KB
/
PersonAuthority.groovy.template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package ${packageName}
import org.apache.commons.lang.builder.HashCodeBuilder
class ${userClassName}${roleClassName} implements Serializable {
private static final long serialVersionUID = 1
${userClassName} ${userClassProperty}
${roleClassName} ${roleClassProperty}
boolean equals(other) {
if (!(other instanceof ${userClassName}${roleClassName})) {
return false
}
other.${userClassProperty}?.id == ${userClassProperty}?.id &&
other.${roleClassProperty}?.id == ${roleClassProperty}?.id
}
int hashCode() {
def builder = new HashCodeBuilder()
if ($userClassProperty) builder.append(${userClassProperty}.id)
if ($roleClassProperty) builder.append(${roleClassProperty}.id)
builder.toHashCode()
}
static ${userClassName}${roleClassName} get(long ${userClassProperty}Id, long ${roleClassProperty}Id) {
find 'from ${userClassName}${roleClassName} where ${userClassProperty}.id=:${userClassProperty}Id and ${roleClassProperty}.id=:${roleClassProperty}Id',
[${userClassProperty}Id: ${userClassProperty}Id, ${roleClassProperty}Id: ${roleClassProperty}Id]
}
static ${userClassName}${roleClassName} create(${userClassName} ${userClassProperty}, ${roleClassName} ${roleClassProperty}, boolean flush = false) {
new ${userClassName}${roleClassName}(${userClassProperty}: ${userClassProperty}, ${roleClassProperty}: ${roleClassProperty}).save(flush: flush, insert: true)
}
static boolean remove(${userClassName} ${userClassProperty}, ${roleClassName} ${roleClassProperty}, boolean flush = false) {
${userClassName}${roleClassName} instance = ${userClassName}${roleClassName}.findBy${userClassName}And${roleClassName}(${userClassProperty}, ${roleClassProperty})
if (!instance) {
return false
}
instance.delete(flush: flush)
true
}
static void removeAll(${userClassName} ${userClassProperty}) {
executeUpdate 'DELETE FROM ${userClassName}${roleClassName} WHERE ${userClassProperty}=:${userClassProperty}', [${userClassProperty}: ${userClassProperty}]
}
static void removeAll(${roleClassName} ${roleClassProperty}) {
executeUpdate 'DELETE FROM ${userClassName}${roleClassName} WHERE ${roleClassProperty}=:${roleClassProperty}', [${roleClassProperty}: ${roleClassProperty}]
}
static mapping = {
id composite: ['${roleClassProperty}', '${userClassProperty}']
version false
}
}