Class QueryMessage

java.lang.Object
org.glowroot.agent.plugin.api.QueryMessage

public abstract class QueryMessage extends Object
The detail map can contain only String, Number, Boolean and null values. It can also contain nested lists of String, Number, Boolean and null values (in particular, lists elements cannot other lists or maps). And it can contain any level of nested maps whose keys are String and whose values are one of the above types (including lists). The detail map cannot have null keys. Lists are supported to simulate multimaps, e.g. for http request parameters and http headers, both of which can have multiple values for the same key. As an extra bonus, detail map can also contain org.glowroot.agent.shaded.org.google.common.base.Optional values which is useful for Maps that do not accept null values, e.g. org.glowroot.agent.shaded.org.google.common.collect.ImmutableMap. The detail map does not need to be thread safe as long as it is only instantiated in response to either MessageSupplier.get() or Message.getDetail() which are called by the thread that needs the map.