Advertisement
Guest User

Untitled

a guest
Aug 30th, 2014
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. package com.yummynoodlebar.core.repository;
  2.  
  3. import com.yummynoodlebar.core.domain.Order;
  4. import com.yummynoodlebar.core.events.CreateEvent;
  5. import com.yummynoodlebar.core.events.DeleteEvent;
  6. import com.yummynoodlebar.core.events.RequestReadEvent;
  7. import com.yummynoodlebar.core.events.UpdatedEvent;
  8. import com.yummynoodlebar.core.events.orders.*;
  9.          
  10. import java.util.*;
  11.                
  12. public class OrdersMemoryRepository implements OrdersRepository {
  13.                
  14.   private Map<UUID, Order> orders;
  15.                
  16.   public OrdersMemoryRepository(final Map<UUID, Order> orders) {
  17.     this.orders = Collections.unmodifiableMap(orders);
  18.   }        
  19.            
  20.   @Override
  21.   public synchronized Order save(Order order) {
  22.            
  23.     Map<UUID, Order> modifiableOrders = new HashMap<UUID, Order>(orders);
  24.     modifiableOrders.put(order.getKey(), order);
  25.     this.orders = Collections.unmodifiableMap(modifiableOrders);
  26.  
  27.     return order;              
  28.   }
  29.  
  30.   @Override
  31.   public synchronized void delete(UUID key) {
  32.     if (orders.containsKey(key)) {  
  33.       Map<UUID, Order> modifiableOrders = new HashMap<UUID, Order>(orders);
  34.       modifiableOrders.remove(key);
  35.       this.orders = Collections.unmodifiableMap(modifiableOrders);
  36.     }
  37.   }
  38.  
  39.   @Override
  40.   public Order findById(UUID key) {
  41.     return orders.get(key);
  42.   }
  43.  
  44.   @Override
  45.   public List<Order> findAll() {  
  46.     return Collections.unmodifiableList(new ArrayList<Order>(orders.values()));
  47.   }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement