aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/protocol/ProtocolUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/uk/org/ury/protocol/ProtocolUtils.java')
-rw-r--r--src/uk/org/ury/protocol/ProtocolUtils.java147
1 files changed, 67 insertions, 80 deletions
diff --git a/src/uk/org/ury/protocol/ProtocolUtils.java b/src/uk/org/ury/protocol/ProtocolUtils.java
index d38eeed..b2d3ed9 100644
--- a/src/uk/org/ury/protocol/ProtocolUtils.java
+++ b/src/uk/org/ury/protocol/ProtocolUtils.java
@@ -11,88 +11,75 @@ import org.json.simple.JSONValue;
import uk.org.ury.protocol.exceptions.DecodeFailureException;
import uk.org.ury.protocol.exceptions.InvalidMessageException;
-
/**
- * Utilities for converting between strings encoded in the response
- * protocol and collections of items, as well as validating and
- * unpicking protocol messages.
+ * Utilities for converting between strings encoded in the response protocol and
+ * collections of items, as well as validating and unpicking protocol messages.
+ *
+ * @author Matt Windsor
*
- * @author Matt Windsor
- *
*/
-public class ProtocolUtils
-{
- /**
- * Encode a key-value map into a protocol string.
- *
- * The map can contain strings, lists and other maps. Other
- * types may be accepted by the underlying encoding engine,
- * but the above types are the only ones explicitly accepted.
- *
- * @param items The key-value map of items, which should contain
- * strings, lists and maps. The keys of any map
- * should be protocol directives.
- *
- * @return A string containing the encoded representation of
- * the map.
- */
-
- public static String
- encode (Map<String, Object> items)
- {
- return JSONValue.toJSONString (items);
- }
-
-
- /**
- * Decode a protocol string into a key-value map.
- *
- * @param string The string to decode.
- *
- * @return A key-value map mapping directives to strings,
- * lists and maps.
- *
- * @throws DecodeFailureException if the decoding engine
- * returns something other than a map.
- */
-
- public static Map<?, ?>
- decode (String string) throws DecodeFailureException
- {
- Object result = JSONValue.parse (string);
-
- if (result instanceof JSONObject)
- return (JSONObject) result;
- else
- throw new DecodeFailureException ("Result not a map.");
- }
-
-
- /**
- * Check if a response is flagged as having OK status.
- *
- * @param response The response message, as a key-value map
- * (eg in decoded format).
- *
- * @return true if the response is flagged with OK status,
- * false if not (eg ERROR status).
- *
- * @throws InvalidMessageException if the response is
- * invalid (eg the status is missing).
- */
-
- public static boolean
- responseIsOK (Map<?, ?> response)
- throws InvalidMessageException
- {
- if (response.containsKey (Directive.STATUS.toString ()) == false)
- throw new InvalidMessageException ("No status line in response.");
-
- if ((response.get (Directive.STATUS.toString ()) instanceof String) == false)
- throw new InvalidMessageException ("Status is not a string.");
-
- return (((String) response.get (Directive.STATUS.toString ()))
- .equals (Status.OK.toString ()));
- }
+public class ProtocolUtils {
+ /**
+ * Encode a key-value map into a protocol string.
+ *
+ * The map can contain strings, lists and other maps. Other types may be
+ * accepted by the underlying encoding engine, but the above types are the
+ * only ones explicitly accepted.
+ *
+ * @param items
+ * The key-value map of items, which should contain strings,
+ * lists and maps. The keys of any map should be protocol
+ * directives.
+ *
+ * @return A string containing the encoded representation of the map.
+ */
+ public static String encode(Map<String, Object> items) {
+ return JSONValue.toJSONString(items);
+ }
+
+ /**
+ * Decode a protocol string into a key-value map.
+ *
+ * @param string
+ * The string to decode.
+ *
+ * @return A key-value map mapping directives to strings, lists and maps.
+ *
+ * @throws DecodeFailureException
+ * if the decoding engine returns something other than a map.
+ */
+ public static Map<?, ?> decode(String string) throws DecodeFailureException {
+ Object result = JSONValue.parse(string);
+
+ if (result instanceof JSONObject)
+ return (JSONObject) result;
+ else
+ throw new DecodeFailureException("Result not a map.");
+ }
+
+ /**
+ * Check if a response is flagged as having OK status.
+ *
+ * @param response
+ * The response message, as a key-value map (eg in decoded
+ * format).
+ *
+ * @return true if the response is flagged with OK status, false if not (eg
+ * ERROR status).
+ *
+ * @throws InvalidMessageException
+ * if the response is invalid (eg the status is missing).
+ */
+ public static boolean responseIsOK(Map<?, ?> response)
+ throws InvalidMessageException {
+ if (response.containsKey(Directive.STATUS.toString()) == false)
+ throw new InvalidMessageException("No status line in response.");
+
+ if ((response.get(Directive.STATUS.toString()) instanceof String) == false)
+ throw new InvalidMessageException("Status is not a string.");
+
+ return (((String) response.get(Directive.STATUS.toString()))
+ .equals(Status.OK.toString()));
+ }
}