From 5afb22cd6cc2edb471f836de93bc869497fd3f74 Mon Sep 17 00:00:00 2001 From: Sylvain Royer Date: Fri, 21 Mar 2014 14:10:12 -0700 Subject: [PATCH] Have default be a final constant, pass in message into chat identifier in case they need to check message type or something. --- .../java/com/threerings/crowd/chat/data/SpeakObject.java | 8 ++++++-- .../java/com/threerings/crowd/chat/server/SpeakUtil.java | 2 +- .../main/java/com/threerings/crowd/data/BodyObject.java | 5 +++-- .../main/java/com/threerings/crowd/data/PlaceObject.java | 5 +++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/com/threerings/crowd/chat/data/SpeakObject.java b/core/src/main/java/com/threerings/crowd/chat/data/SpeakObject.java index 4c9a40978..c4c20cdfa 100644 --- a/core/src/main/java/com/threerings/crowd/chat/data/SpeakObject.java +++ b/core/src/main/java/com/threerings/crowd/chat/data/SpeakObject.java @@ -23,12 +23,16 @@ package com.threerings.crowd.chat.data; import com.threerings.util.Name; +import com.threerings.crowd.chat.data.UserMessage; + /** * Provides a mechanism by which the speak service can identify chat listeners so as to maintain a * recent history of all chat traffic on the server. */ public interface SpeakObject { + public static final String DEFAULT_IDENTIFIER = "default"; + /** Used in conjunction with {@link SpeakObject#applyToListeners}. */ public static interface ListenerOp { @@ -40,9 +44,9 @@ public interface SpeakObject } /** - * Returns an identifier for what type of chat this speak object represents. + * Returns an identifier for what type of chat this speak object represents based on the message. */ - String getChatIdentifier (); + String getChatIdentifier (UserMessage message); /** * The speak service will call this every time a chat message is delivered on this speak object diff --git a/core/src/main/java/com/threerings/crowd/chat/server/SpeakUtil.java b/core/src/main/java/com/threerings/crowd/chat/server/SpeakUtil.java index c43d620aa..9a51b0dc3 100644 --- a/core/src/main/java/com/threerings/crowd/chat/server/SpeakUtil.java +++ b/core/src/main/java/com/threerings/crowd/chat/server/SpeakUtil.java @@ -247,7 +247,7 @@ public class SpeakUtil } public boolean apply (MessageObserver observer) { - observer.messageDelivered(_sender.getChatIdentifier(), _hearer, _message); + observer.messageDelivered(_sender.getChatIdentifier(_message), _hearer, _message); return true; } diff --git a/core/src/main/java/com/threerings/crowd/data/BodyObject.java b/core/src/main/java/com/threerings/crowd/data/BodyObject.java index 435ac07ff..e198275b4 100644 --- a/core/src/main/java/com/threerings/crowd/data/BodyObject.java +++ b/core/src/main/java/com/threerings/crowd/data/BodyObject.java @@ -29,6 +29,7 @@ import com.threerings.presents.data.Permission; import com.threerings.crowd.chat.data.ChatCodes; import com.threerings.crowd.chat.data.SpeakObject; +import com.threerings.crowd.chat.data.UserMessage; /** * The basic user object class for Crowd users. Bodies have a username, a location and a status. @@ -131,9 +132,9 @@ public class BodyObject extends ClientObject } // from interface SpeakObject - public String getChatIdentifier () + public String getChatIdentifier (UserMessage message) { - return "default"; + return SpeakObject.DEFAULT_IDENTIFIER; } /** diff --git a/core/src/main/java/com/threerings/crowd/data/PlaceObject.java b/core/src/main/java/com/threerings/crowd/data/PlaceObject.java index fdf3f7f1d..c2e8c3db6 100644 --- a/core/src/main/java/com/threerings/crowd/data/PlaceObject.java +++ b/core/src/main/java/com/threerings/crowd/data/PlaceObject.java @@ -33,6 +33,7 @@ import com.threerings.presents.dobj.ServerMessageEvent; import com.threerings.crowd.chat.data.ChatCodes; import com.threerings.crowd.chat.data.SpeakMarshaller; import com.threerings.crowd.chat.data.SpeakObject; +import com.threerings.crowd.chat.data.UserMessage; import static com.threerings.crowd.Log.log; @@ -155,9 +156,9 @@ public class PlaceObject extends DObject } // documentation inherited - public String getChatIdentifier () + public String getChatIdentifier (UserMessage message) { - return "default"; + return SpeakObject.DEFAULT_IDENTIFIER; } // AUTO-GENERATED: METHODS START