Class JSONLogMessage

  • All Implemented Interfaces:
    LogMessage, java.io.Serializable
    Direct Known Subclasses:
    JSONAccessLogMessage

    @NotExtensible
    @ThreadSafety(level=INTERFACE_THREADSAFE)
    public abstract class JSONLogMessage
    extends java.lang.Object
    implements LogMessage
    This class provides a data structure that holds information about a JSON-formatted log message.
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected JSONLogMessage​(JSONObject jsonObject)
      Creates a new JSON log message from the provided JSON object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Boolean getBoolean​(LogField logField)
      Retrieves the value of the specified field as a Boolean object.
      java.lang.Double getDouble​(LogField logField)
      Retrieves the value of the specified field as a Double value.
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getFields()
      Retrieves a map of the fields and their corresponding values in this log message.
      java.util.Date getGeneralizedTime​(LogField logField)
      Retrieves the value of the specified field as a Date object decoded from the generalized time format.
      java.lang.Integer getInteger​(LogField logField)
      Retrieves the value of the specified field as an Integer value.
      JSONObject getJSONObject()
      Retrieves the JSON object that contains an encoded representation of this log message.
      java.lang.String getLogType()
      Retrieves the type of logger with which this message is associated.
      java.lang.Long getLong​(LogField logField)
      Retrieves the value of the specified field as a Long value.
      java.util.Date getRFC3339Timestamp​(LogField logField)
      Retrieves the value of the specified field as a Date object decoded from the ISO 8601 format described in RFC 3339.
      java.lang.String getString​(LogField logField)
      Retrieves the value of the specified field as a string.
      java.util.Date getTimestamp()
      Retrieves the timestamp for this log message.
      java.lang.String toString()
      Retrieves a string representation of this log message.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • JSONLogMessage

        protected JSONLogMessage​(@NotNull
                                 JSONObject jsonObject)
                          throws LogException
        Creates a new JSON log message from the provided JSON object.
        Parameters:
        jsonObject - The JSON object that contains an encoded representation of this log message. It must not be null.
        Throws:
        LogException - If the provided JSON object cannot be parsed as a valid log message.
    • Method Detail

      • getJSONObject

        @NotNull
        public final JSONObject getJSONObject()
        Retrieves the JSON object that contains an encoded representation of this log message.
        Returns:
        The JSON object that contains an encoded representation of this log message.
      • getTimestamp

        @NotNull
        public final java.util.Date getTimestamp()
        Retrieves the timestamp for this log message.
        Specified by:
        getTimestamp in interface LogMessage
        Returns:
        The timestamp for this log message.
      • getLogType

        @Nullable
        public final java.lang.String getLogType()
        Retrieves the type of logger with which this message is associated.
        Returns:
        The type of logger with which this message is associated, or null if it is not included in the log message.
      • getFields

        @NotNull
        public final java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getFields()
        Retrieves a map of the fields and their corresponding values in this log message.
        Specified by:
        getFields in interface LogMessage
        Returns:
        A map of the fields and their corresponding values in this log message.
      • getBoolean

        @Nullable
        public final java.lang.Boolean getBoolean​(@NotNull
                                                  LogField logField)
                                           throws LogException
        Retrieves the value of the specified field as a Boolean object. If the field has multiple values, the first will be returned.
        Specified by:
        getBoolean in interface LogMessage
        Parameters:
        logField - The field for which to retrieve the Boolean value.
        Returns:
        The value of the specified field as a Boolean object, or null if the log message does not have the specified field.
        Throws:
        LogException - If the value of the specified field cannot be parsed as a Boolean.
      • getGeneralizedTime

        @Nullable
        public final java.util.Date getGeneralizedTime​(@NotNull
                                                       LogField logField)
                                                throws LogException
        Retrieves the value of the specified field as a Date object decoded from the generalized time format. If the field has multiple values, the first will be returned.
        Specified by:
        getGeneralizedTime in interface LogMessage
        Parameters:
        logField - The field for which to retrieve the timestamp value.
        Returns:
        The value of the specified field as a Date object, or null if the log message does not have the specified field.
        Throws:
        LogException - If the value of the specified field cannot be parsed as a Date in the generalized time format.
      • getDouble

        @Nullable
        public final java.lang.Double getDouble​(@NotNull
                                                LogField logField)
                                         throws LogException
        Retrieves the value of the specified field as a Double value. If the field has multiple values, the first will be returned.
        Specified by:
        getDouble in interface LogMessage
        Parameters:
        logField - The field for which to retrieve the Double value.
        Returns:
        The value of the specified field as a Double value, or null if the log message does not have the specified field.
        Throws:
        LogException - If the value of the specified field cannot be parsed as a Double.
      • getInteger

        @Nullable
        public final java.lang.Integer getInteger​(@NotNull
                                                  LogField logField)
                                           throws LogException
        Retrieves the value of the specified field as an Integer value. If the field has multiple values, the first will be returned.
        Specified by:
        getInteger in interface LogMessage
        Parameters:
        logField - The field for which to retrieve the Integer value.
        Returns:
        The Integer value of the specified field, or null if the log message does not have the specified field.
        Throws:
        LogException - If the value of the specified field cannot be parsed as an Integer.
      • getLong

        @Nullable
        public final java.lang.Long getLong​(@NotNull
                                            LogField logField)
                                     throws LogException
        Retrieves the value of the specified field as a Long value. If the field has multiple values, the first will be returned.
        Specified by:
        getLong in interface LogMessage
        Parameters:
        logField - The field for which to retrieve the Long value.
        Returns:
        The Long value of the specified field, or null if the log message does not have the specified field.
        Throws:
        LogException - If the value of the specified field cannot be parsed as a Long.
      • getRFC3339Timestamp

        @Nullable
        public final java.util.Date getRFC3339Timestamp​(@NotNull
                                                        LogField logField)
                                                 throws LogException
        Retrieves the value of the specified field as a Date object decoded from the ISO 8601 format described in RFC 3339. If the field has multiple values, the first will be returned.
        Specified by:
        getRFC3339Timestamp in interface LogMessage
        Parameters:
        logField - The field for which to retrieve the timestamp value.
        Returns:
        The value of the specified field as a Date object, or null if the log message does not have the specified field.
        Throws:
        LogException - If the value of the specified field cannot be parsed as a Date in the RFC 3339 format.
      • getString

        @Nullable
        public final java.lang.String getString​(@NotNull
                                                LogField logField)
        Retrieves the value of the specified field as a string. If the field has multiple values, the first will be returned.
        Specified by:
        getString in interface LogMessage
        Parameters:
        logField - The field for which to retrieve the string value.
        Returns:
        The value of the specified field as a string, or null if the log message does not have the specified field.
      • toString

        @NotNull
        public final java.lang.String toString()
        Retrieves a string representation of this log message.
        Specified by:
        toString in interface LogMessage
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of this log message.