Package org.apache.logging.log4j.spi
Class MutableThreadContextStack
java.lang.Object
org.apache.logging.log4j.spi.MutableThreadContextStack
- All Implemented Interfaces:
Serializable,Iterable<String>,Collection<String>,ThreadContextStack,ThreadContext.ContextStack,StringBuilderFormattable
public class MutableThreadContextStack
extends Object
implements ThreadContextStack, StringBuilderFormattable
TODO
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanThe underlying list (never null).private static final long -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructs an empty MutableThreadContextStack.MutableThreadContextStack(List<String> list) Constructs a new instance.private -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanaddAll(Collection<? extends String> strings) asList()Returns all the elements in the stack in a List.private voidvoidclear()booleanbooleancontainsAll(Collection<?> objects) copy()Returns a copy of the ContextStack.booleanvoidformatTo(StringBuilder buffer) Writes a text representation of this object into the specifiedStringBuilder, ideally without allocating temporary objects.voidfreeze()"Freezes" this context stack so it becomes immutable: all mutator methods will throw an exception from now on.intgetDepth()Returns the number of elements in the stack.Returns a ContextStack with the same contents as this ContextStack ornull.inthashCode()booleanisEmpty()booleanisFrozen()Returns whether this context stack is frozen.iterator()peek()Returns the element at the top of the stack without removing it or null if the stack is empty.pop()Returns the element at the top of the stack.voidPushes an element onto the stack.booleanbooleanremoveAll(Collection<?> objects) booleanretainAll(Collection<?> objects) intsize()Object[]toArray()<T> T[]toArray(T[] ts) toString()voidtrim(int depth) Trims elements from the end of the stack.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, spliterator, stream, toArray
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
list
The underlying list (never null). -
frozen
private boolean frozen
-
-
Constructor Details
-
MutableThreadContextStack
public MutableThreadContextStack()Constructs an empty MutableThreadContextStack. -
MutableThreadContextStack
Constructs a new instance.- Parameters:
list-
-
MutableThreadContextStack
-
-
Method Details
-
checkInvariants
private void checkInvariants() -
pop
Description copied from interface:ThreadContext.ContextStackReturns the element at the top of the stack.- Specified by:
popin interfaceThreadContext.ContextStack- Returns:
- The element at the top of the stack.
-
peek
Description copied from interface:ThreadContext.ContextStackReturns the element at the top of the stack without removing it or null if the stack is empty.- Specified by:
peekin interfaceThreadContext.ContextStack- Returns:
- the element at the top of the stack or null if the stack is empty.
-
push
Description copied from interface:ThreadContext.ContextStackPushes an element onto the stack.- Specified by:
pushin interfaceThreadContext.ContextStack- Parameters:
message- The element to add.
-
getDepth
public int getDepth()Description copied from interface:ThreadContext.ContextStackReturns the number of elements in the stack.- Specified by:
getDepthin interfaceThreadContext.ContextStack- Returns:
- the number of elements in the stack.
-
asList
Description copied from interface:ThreadContext.ContextStackReturns all the elements in the stack in a List.- Specified by:
asListin interfaceThreadContext.ContextStack- Returns:
- all the elements in the stack in a List.
-
trim
public void trim(int depth) Description copied from interface:ThreadContext.ContextStackTrims elements from the end of the stack.- Specified by:
trimin interfaceThreadContext.ContextStack- Parameters:
depth- The maximum number of items in the stack to keep.
-
copy
Description copied from interface:ThreadContext.ContextStackReturns a copy of the ContextStack.- Specified by:
copyin interfaceThreadContext.ContextStack- Returns:
- a copy of the ContextStack.
-
clear
public void clear()- Specified by:
clearin interfaceCollection<String>
-
size
public int size()- Specified by:
sizein interfaceCollection<String>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceCollection<String>
-
contains
- Specified by:
containsin interfaceCollection<String>
-
iterator
-
toArray
- Specified by:
toArrayin interfaceCollection<String>
-
toArray
public <T> T[] toArray(T[] ts) - Specified by:
toArrayin interfaceCollection<String>
-
add
- Specified by:
addin interfaceCollection<String>
-
remove
- Specified by:
removein interfaceCollection<String>
-
containsAll
- Specified by:
containsAllin interfaceCollection<String>
-
addAll
- Specified by:
addAllin interfaceCollection<String>
-
removeAll
- Specified by:
removeAllin interfaceCollection<String>
-
retainAll
- Specified by:
retainAllin interfaceCollection<String>
-
toString
-
formatTo
Description copied from interface:StringBuilderFormattableWrites a text representation of this object into the specifiedStringBuilder, ideally without allocating temporary objects.- Specified by:
formatToin interfaceStringBuilderFormattable- Parameters:
buffer- the StringBuilder to write into
-
hashCode
public int hashCode()- Specified by:
hashCodein interfaceCollection<String>- Overrides:
hashCodein classObject
-
equals
- Specified by:
equalsin interfaceCollection<String>- Overrides:
equalsin classObject
-
getImmutableStackOrNull
Description copied from interface:ThreadContext.ContextStackReturns a ContextStack with the same contents as this ContextStack ornull. Attempts to modify the returned stack may or may not throw an exception, but will not affect the contents of this ContextStack.- Specified by:
getImmutableStackOrNullin interfaceThreadContext.ContextStack- Returns:
- a ContextStack with the same contents as this ContextStack or
null.
-
freeze
public void freeze()"Freezes" this context stack so it becomes immutable: all mutator methods will throw an exception from now on. -
isFrozen
public boolean isFrozen()Returns whether this context stack is frozen.- Returns:
- whether this context stack is frozen.
-