Author: ggregory
Date: Wed May  7 19:35:45 2014
New Revision: 1593125

URL: http://svn.apache.org/r1593125
Log:
ThreadContext.ContextStack is already (conceptually) a collection of Strings so 
it should be a Collection<String> instead of it's sub-interface 
ThreadContextStack being a Collection<String>. What's the value of 
ThreadContextStack now? Should we keep it as a placeholder? It is not 
documented in its Javadoc. Note that all implementations of ContextStack are 
implementations of ThreadContextStack, so this change has no effect on 
implementors. Note that Log4jLogEvent holds a ContextStack so this makes it a 
Collection<String> which happens to save a lot of work for XML and JSON IO for 
the Jackson based receivers and layouts I am working on.

Modified:
    
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java
    
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java

Modified: 
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java?rev=1593125&r1=1593124&r2=1593125&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java
 Wed May  7 19:35:45 2014
@@ -347,12 +347,7 @@ public final class ThreadContext  {
     /**
      * The ThreadContext Stack interface.
      */
-    public interface ContextStack extends Serializable {
-
-        /**
-         * Clears all elements from the stack.
-         */
-        void clear();
+    public interface ContextStack extends Serializable, Collection<String> {
 
         /**
          * Returns the element at the top of the stack.

Modified: 
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java?rev=1593125&r1=1593124&r2=1593125&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java
 Wed May  7 19:35:45 2014
@@ -16,12 +16,10 @@
  */
 package org.apache.logging.log4j.spi;
 
-import java.util.Collection;
-
 import org.apache.logging.log4j.ThreadContext;
 
 /**
  *
  */
-public interface ThreadContextStack extends ThreadContext.ContextStack, 
Collection<String> {
+public interface ThreadContextStack extends ThreadContext.ContextStack {
 }


Reply via email to