Enum Correlation

  • All Implemented Interfaces:
    Serializable, Comparable<Correlation>, org.refcodes.mixin.IdAccessor<String>, org.refcodes.mixin.IdAccessor.IdMutator<String>, org.refcodes.mixin.IdAccessor.IdProperty<String>

    public enum Correlation
    extends Enum<Correlation>
    implements org.refcodes.mixin.IdAccessor.IdProperty<String>
    The Correlation assigns an according (as of the enumeration) Correlation-TID to the invoking process, this TID is used in log files and is part of the process's request or response pay-load in order to track process execution throughout a JVM.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.refcodes.mixin.IdAccessor

        org.refcodes.mixin.IdAccessor.IdBuilder<T extends Object,​B extends org.refcodes.mixin.IdAccessor.IdBuilder<T,​B>>, org.refcodes.mixin.IdAccessor.IdMutator<T extends Object>, org.refcodes.mixin.IdAccessor.IdProperty<T extends Object>
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      REQUEST
      A single request spanning over multiple systems.
      SESSION
      Identifying a session for multiple requests spanning over multiple systems. traced.
    • Enum Constant Detail

      • REQUEST

        public static final Correlation REQUEST
        A single request spanning over multiple systems.
      • SESSION

        public static final Correlation SESSION
        Identifying a session for multiple requests spanning over multiple systems. traced.
    • Method Detail

      • values

        public static Correlation[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Correlation c : Correlation.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Correlation valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • setId

        public void setId​(String aCorrelationId)
        Assigns the given Correlation-TID to the current Thread.
        Specified by:
        setId in interface org.refcodes.mixin.IdAccessor.IdMutator<String>
        Parameters:
        aCorrelationId - The Correlation-TID to be assigned to the current Thread.
      • getId

        public String getId()
        Retrieves the Correlation-TID assigned to the current Thread. Call pullId() to make sure a Correlation-TID is created for the current thread if none exists yet or call nextId() in order to create a new Correlation-TID.
        Specified by:
        getId in interface org.refcodes.mixin.IdAccessor<String>
        Returns:
        The Correlation-TID of the current Thread.
      • pullId

        public String pullId()
        Returns a Correlation-TID in any case: Creates a new Correlation-TID in case there is none yet for the current thread. Else the current Correlation-TID is returned.
        Returns:
        The Correlation-TID as of now.
      • nextId

        public String nextId()
        Creates a new Correlation-TID no matter whether there is a Correlation-TID already assigned to the current thread or not.
        Returns:
        the string
      • toFullCorrelationId

        public static String toFullCorrelationId()
        Returns a String with all Correlation-IDs found separated by a Delimiter.CORRELATION_ID character from each other. Any portion of the full Correlation-TID not being set is represented by a "<?>" sequence defined by Literal.UNKNOWN.
        Returns:
        The full Correlation-TID.
      • hasAnyCorrelationId

        public static boolean hasAnyCorrelationId()
        Evaluates whether any of the given Correlation-IDs is present (not null).
        Returns:
        True if at least one Correlation-TID is not null.