Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. enum FooStatus {
  2. BAR('br'), TAR('tr')
  3. final static String id
  4. }
  5.  
  6. class Foo {
  7. FooStatus status
  8.  
  9. static constraints = {
  10. status(inList:FooStatus.values()*.id,size:2..2)
  11. }
  12. }
  13.  
  14. enum FooStatus {
  15. BAR('br'),
  16. TAR('tr')
  17. private FooStatus(String id) { this.id = id }
  18. final String id
  19.  
  20. static FooStatus byId(String id) {
  21. values().find { it.id == id }
  22. }
  23. }
  24.  
  25. class Foo {
  26. String status
  27.  
  28. FooStatus getFooStatus() { status ? FooStatus.byId(status) : null }
  29. void setFooStatus(FooStatus fooStatus) { status = fooStatus.id }
  30.  
  31. static transients = ['fooStatus']
  32.  
  33. static constraints = {
  34. status inList: FooStatus.values()*.id
  35. }
  36.  
  37. static mapping = {
  38. status sqlType: 'char(2)'
  39. }
  40. }
  41.  
  42. import org.codehaus.groovy.grails.orm.hibernate.cfg.IdentityEnumType
  43.  
  44. class MyDomainClass {
  45. Status status
  46.  
  47. static mapping = {
  48. status(type: IdentityEnumType)
  49. }
  50.  
  51. enum Status {
  52. FOO("F"), BAR("B")
  53. String id
  54. Status(String id) { this.id = id }
  55. }
  56. }
  57.  
  58. DataSource dataSource
  59. ...
  60. Sql sql = new Sql(dataSource)
  61. sql.execute("alter table my_domain_class change column status status varchar(1) not null")
  62.  
  63. class DomainClass {
  64. Status status
  65. static mapping = {
  66. status(enumType: "string")
  67. }
  68. }
  69.  
  70. enum Status {
  71. OPEN ("OPEN"),
  72. CLOSED ("CLOSED"),
  73. ...
  74.  
  75. String name
  76. Status (String name) {
  77. this.name = name
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement