Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. class WeirdBean extends HashMap {
  2. public String inner = "set within"
  3. def getInner() { return this.inner }
  4. def getOuter() { return this.outer }
  5. }
  6.  
  7. def o = WeirdBean.newInstance()
  8. o.outer = "set without"
  9. println o.getOuter() // set without
  10. println o.outer // set without
  11. assert o.outer == o.getOuter() // Pass
  12.  
  13. println o.getInner() // set within
  14. println o.inner // null, even though public
  15. assert o.inner == o.getInner() // Fail, o.inner is null
  16.  
  17. class WeirdBean extends HashMap {
  18. public String inner = "set within"
  19. def getInner() { return this.inner }
  20.  
  21. def getProperty(String property) {
  22. (property == 'inner') ? inner : super.get(property)
  23. }
  24.  
  25. def getOuter() { return this.outer }
  26. }
  27.  
  28. def o = WeirdBean.newInstance()
  29. o.outer = "set without"
  30. println o.getOuter() // set without
  31. println o.outer // set without
  32. assert o.outer == o.getOuter() // Pass
  33.  
  34. println o.getInner() // set within
  35. println o.inner // null, even though public
  36. assert o.inner == o.getInner() // Fail, o.inner is null
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement