getHints();
+
+ /**
+ * Get all hints in this context without creating defensive copies in the
+ * implementation if possible.
+ *
+ * Use this only when reading and you know what you're doing.
+ *
+ * @return the backing map of hints in this context without extra copying if possible
+ */
+ Map getHintsUnsafe();
+
+ /**
+ * Get all hints whose key is a subclass of clazz
+ * @param
+ * @param clazz the class
+ * @return key object map
+ */
+ Map getHintsOfClass(Class clazz);
+
+ /**
+ * Adds hint listener, which gets events for all hint changes
+ *
+ * @param listener
+ */
+ void addHintListener(IHintListener listener);
+
+ /**
+ * Removes hint listener
+ *
+ * @param listener
+ */
+ void removeHintListener(IHintListener listener);
+
+ /**
+ * Adds hint listener for a specific key
+ * @param key
+ * @param listener
+ */
+ void addKeyHintListener(Key key, IHintListener listener);
+
+ /**
+ * Removes hint listener
+ * @param key
+ * @param listener
+ */
+ void removeKeyHintListener(Key key, IHintListener listener);
+
+ /**
+ * Adds hint listener, which gets events for all hint changes
+ *
+ * @param threadAccess
+ * @param listener
+ */
+ void addHintListener(IThreadWorkQueue threadAccess, IHintListener listener);
+
+ /**
+ * Removes hint listener
+ *
+ * @param threadAccess
+ * @param listener
+ */
+ void removeHintListener(IThreadWorkQueue threadAccess, IHintListener listener);
+
+ /**
+ * Adds hint listener for a specific key
+ * @param threadAccess
+ * @param key
+ * @param listener
+ */
+ void addKeyHintListener(IThreadWorkQueue threadAccess, Key key, IHintListener listener);
+
+ /**
+ * Removes hint listener
+ * @param threadAccess
+ * @param key
+ * @param listener
+ */
+ void removeKeyHintListener(IThreadWorkQueue threadAccess, Key key, IHintListener listener);
+
+}