Advertisement
Guest User

Untitled

a guest
Apr 21st, 2014
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.70 KB | None | 0 0
  1. package eu.smartcampus.api;
  2.  
  3. import java.security.Timestamp;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. import eu.smartcampus.util.DatapointAddress;
  8. import eu.smartcampus.util.Metadata;
  9. import eu.smartcampus.util.Reading;
  10. import eu.smartcampus.util.Value;
  11.  
  12. public abstract class AbstractDeviceConnectivityAPI
  13.         implements DeviceConnectivityAPI {
  14.  
  15.     @Override
  16.     public abstract DatapointAddress[] getAllDatapoints();
  17.  
  18.     @Override
  19.     public abstract Metadata getDatapointMetadata(DatapointAddress address);
  20.  
  21.     @Override
  22.     public abstract int requestDatapointRead(DatapointAddress address, int clientKey);
  23.  
  24.     @Override
  25.     public abstract int requestDatapointWindowRead(DatapointAddress address,
  26.                                                    Timestamp start,
  27.                                                    Timestamp finish,
  28.                                                    int clientKey);
  29.  
  30.     public abstract int requestDatapointWrite(DatapointAddress address, Value value, int clientKey);
  31.  
  32.     /**
  33.      * Maps that keeps the read listeners.
  34.      */
  35.     private final Map<Integer, ReadListener> readListeners = new HashMap<Integer, ReadListener>();
  36.  
  37.     /**
  38.      * Map that keeps the write listeners.
  39.      */
  40.     private final Map<Integer, WriteListener> writeListeners = new HashMap<Integer, WriteListener>();
  41.  
  42.     protected void notifyReadAcknowledge(final int clientKey,
  43.                                          DatapointAddress address,
  44.                                          Reading readings,
  45.                                          int requestId) {
  46.         final ReadListener l = readListeners.get(Integer.valueOf(clientKey));
  47.         l.readAcknowledge(address, readings, requestId);
  48.     }
  49.  
  50.     @Override
  51.     public final int addReadListener(ReadListener listener) {
  52.         final int key = listener.hashCode();
  53.         if (!readListeners.containsKey(key)) {
  54.             readListeners.put(Integer.valueOf(key), listener);
  55.         }
  56.         return key;
  57.     }
  58.  
  59.     @Override
  60.     public final int addWriteListener(WriteListener listener) {
  61.         final int key = listener.hashCode();
  62.         if (!writeListeners.containsKey(key)) {
  63.             writeListeners.put(Integer.valueOf(key), listener);
  64.         }
  65.         return key;
  66.     }
  67.  
  68.     @Override
  69.     public final int removeReadListener(ReadListener listener) {
  70.         final int key = listener.hashCode();
  71.         readListeners.remove(Integer.valueOf(key));
  72.         return key;
  73.     }
  74.  
  75.     @Override
  76.     public final int removeWriteListener(WriteListener listener) {
  77.         final int key = listener.hashCode();
  78.         writeListeners.remove(Integer.valueOf(key));
  79.         return key;
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement