Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface Store<T extends Base> {
- void add(T t);
- Simple<T> getStore();
- boolean delete(T t);
- boolean update(T oldObj, T newObj);
- }
- class UserStore implements Store<User> {
- private Simple<User> users = new SimpleArray<>();
- @Override
- public void add(User user) {
- users.add(user);
- }
- public Simple<User> getStore() {
- return users;
- }
- @Override
- public boolean delete(User user) {
- for (int i = 0; i < users.getSize(); i++) {
- if (user.getId().equals(users.get(i).getId())) {
- users.delete(i);
- return true;
- }
- }
- return false;
- }
- @Override
- public boolean update(User oldObj, User newObj) {
- for (int i = 0; i < users.getSize(); i++) {
- if (oldObj.getId().equals(users.get(i).getId())) {
- users.update(i, newObj);
- return true;
- }
- }
- return false;
- }
- }
- class RoleStore implements Store<Role> {
- private Simple<Role> roles = new SimpleArray<>();
- @Override
- public void add(Role role) {
- roles.add(role);
- }
- public Simple<Role> getStore() {
- return roles;
- }
- @Override
- public boolean delete(Role user) {
- for (int i = 0; i < roles.getSize(); i++) {
- if (user.getId().equals(roles.get(i).getId())) {
- roles.delete(i);
- return true;
- }
- }
- return false;
- }
- @Override
- public boolean update(Role oldObj, Role newObj) {
- for (int i = 0; i < roles.getSize(); i++) {
- if (oldObj.getId().equals(roles.get(i).getId())) {
- roles.update(i, newObj);
- return true;
- }
- }
- return false;
- }
- }
- И сам контент для сторов:
- public abstract class Base {
- private final String id;
- Base(String id) {
- this.id = id;
- }
- public String getId() {
- return id;
- }
- }
- public class Role extends Base {
- public Role(String id) {
- super(id);
- }
- }
- public class User extends Base {
- public User(String id) {
- super(id);
- }
- }
- public interface Base;
- public class User implements Base {};
- public class Role implements Base {};
- public abstract class GenericStore <T extends Base> implements Store <T>
- {
- private Simple <T> items = new Simple <T> ();
- public void add(T item)
- {
- items.add(item);
- }
- }
- Store<User> UserStore = new GenericStore<User>():
- UserStore.add(new User());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement