Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. interface Store<T extends Base> {
  2. void add(T t);
  3. Simple<T> getStore();
  4. boolean delete(T t);
  5. boolean update(T oldObj, T newObj);
  6. }
  7.  
  8. class UserStore implements Store<User> {
  9. private Simple<User> users = new SimpleArray<>();
  10.  
  11. @Override
  12. public void add(User user) {
  13. users.add(user);
  14. }
  15.  
  16. public Simple<User> getStore() {
  17. return users;
  18. }
  19.  
  20. @Override
  21. public boolean delete(User user) {
  22. for (int i = 0; i < users.getSize(); i++) {
  23. if (user.getId().equals(users.get(i).getId())) {
  24. users.delete(i);
  25. return true;
  26. }
  27. }
  28. return false;
  29. }
  30.  
  31. @Override
  32. public boolean update(User oldObj, User newObj) {
  33. for (int i = 0; i < users.getSize(); i++) {
  34. if (oldObj.getId().equals(users.get(i).getId())) {
  35. users.update(i, newObj);
  36. return true;
  37. }
  38. }
  39. return false;
  40. }
  41. }
  42.  
  43. class RoleStore implements Store<Role> {
  44. private Simple<Role> roles = new SimpleArray<>();
  45.  
  46. @Override
  47. public void add(Role role) {
  48. roles.add(role);
  49. }
  50.  
  51. public Simple<Role> getStore() {
  52. return roles;
  53. }
  54.  
  55. @Override
  56. public boolean delete(Role user) {
  57. for (int i = 0; i < roles.getSize(); i++) {
  58. if (user.getId().equals(roles.get(i).getId())) {
  59. roles.delete(i);
  60. return true;
  61. }
  62. }
  63. return false;
  64. }
  65.  
  66. @Override
  67. public boolean update(Role oldObj, Role newObj) {
  68. for (int i = 0; i < roles.getSize(); i++) {
  69. if (oldObj.getId().equals(roles.get(i).getId())) {
  70. roles.update(i, newObj);
  71. return true;
  72. }
  73. }
  74. return false;
  75. }
  76. }
  77.  
  78. И сам контент для сторов:
  79. public abstract class Base {
  80. private final String id;
  81.  
  82. Base(String id) {
  83. this.id = id;
  84. }
  85.  
  86. public String getId() {
  87. return id;
  88. }
  89. }
  90.  
  91. public class Role extends Base {
  92. public Role(String id) {
  93. super(id);
  94. }
  95. }
  96.  
  97. public class User extends Base {
  98. public User(String id) {
  99. super(id);
  100. }
  101. }
  102.  
  103. public interface Base;
  104. public class User implements Base {};
  105. public class Role implements Base {};
  106.  
  107. public abstract class GenericStore <T extends Base> implements Store <T>
  108. {
  109. private Simple <T> items = new Simple <T> ();
  110.  
  111. public void add(T item)
  112. {
  113. items.add(item);
  114. }
  115. }
  116.  
  117. Store<User> UserStore = new GenericStore<User>():
  118. UserStore.add(new User());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement