Pārlūkot izejas kodu

Support for display properties.

Change-Id: I21f9babe74a90b5cfea6daba815c08e7a4b5afa5
Depends-On: I0ac716ee335ed40531af698fe475d077aba2766d
Reviewed-on: http://gerrit.dmdirc.com/3834
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
changes/34/3834/2
Chris Smith 9 gadus atpakaļ
vecāks
revīzija
67cf8a0d52

+ 18
- 1
src/com/dmdirc/addons/dcc/events/DccDisplayableEvent.java Parādīt failu

@@ -22,8 +22,12 @@
22 22
 
23 23
 package com.dmdirc.addons.dcc.events;
24 24
 
25
+import com.dmdirc.events.DisplayProperty;
26
+import com.dmdirc.events.DisplayPropertyMap;
25 27
 import com.dmdirc.events.DisplayableEvent;
26 28
 
29
+import com.google.common.base.Optional;
30
+
27 31
 import java.util.concurrent.atomic.AtomicReference;
28 32
 
29 33
 /**
@@ -33,6 +37,8 @@ public abstract class DccDisplayableEvent extends DccEvent implements Displayabl
33 37
 
34 38
     /** The display format to use for this event. */
35 39
     private final AtomicReference<String> displayFormatRef = new AtomicReference<>("");
40
+    /** The properties associated with this event. */
41
+    private final DisplayPropertyMap properties = new DisplayPropertyMap();
36 42
 
37 43
     @Override
38 44
     public String getDisplayFormat() {
@@ -41,6 +47,17 @@ public abstract class DccDisplayableEvent extends DccEvent implements Displayabl
41 47
 
42 48
     @Override
43 49
     public void setDisplayFormat(final String format) {
44
-        this.displayFormatRef.set(format);
50
+        displayFormatRef.set(format);
51
+    }
52
+
53
+    @Override
54
+    public <T> void setDisplayProperty(final DisplayProperty<T> property, final T value) {
55
+        properties.put(property, value);
45 56
     }
57
+
58
+    @Override
59
+    public <T> Optional<T> getDisplayProperty(final DisplayProperty<T> property) {
60
+        return properties.get(property);
61
+    }
62
+
46 63
 }

Notiek ielāde…
Atcelt
Saglabāt