Enum Correlation

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

    public enum Correlation
    extends java.lang.Enum<Correlation>
    implements org.refcodes.mixin.IdAccessor.IdProperty<java.lang.String>
    The Correlation assigns an according (as of the enumeration) Correlation-ID to the invoking process, this ID 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.IdMutator<T extends java.lang.Object>, org.refcodes.mixin.IdAccessor.IdProperty<T extends java.lang.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.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getId()
      Retrieves the Correlation-ID assigned to the current Thread.
      static boolean hasAnyCorrelationId()
      Evaluates whether any of the given Correlation-IDs is present (not null).
      java.lang.String nextId()
      Creates a new Correlation-ID no matter whether there is a Correlation-ID already assigned to the current thread or not.
      java.lang.String pullId()
      Returns a Correlation-ID in any case: Creates a new Correlation-ID in case there is none yet for the current thread.
      void setId​(java.lang.String aCorrelationId)
      Assigns the given Correlation-ID to the current Thread.
      static java.lang.String toFullCorrelationId()
      Returns a String with all Correlation-IDs found separated by a Delimiter.CORRELATION_ID character from each other.
      static Correlation valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Correlation[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • 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​(java.lang.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:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • setId

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

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

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

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

        public static java.lang.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-ID not being set is represented by a "<?>" sequence defined by Literal.UNKNOWN.
        Returns:
        The full Correlation-ID.
      • hasAnyCorrelationId

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