Top Description Fields Constructors Methods
org.apache.logging.log4j.spi

public Class MutableThreadContextStack

extends Object
implements ThreadContextStack, StringBuilderFormattable
Class Inheritance
All Implemented Interfaces
org.apache.logging.log4j.util.StringBuilderFormattable, org.apache.logging.log4j.spi.ThreadContextStack, org.apache.logging.log4j.ThreadContext.ContextStack, java.util.Collection, java.lang.Iterable, java.io.Serializable
Imports
java.util.ArrayList, .Collection, .Iterator, .List, .Objects, org.apache.logging.log4j.ThreadContext.ContextStack, org.apache.logging.log4j.util.StringBuilderFormattable

TODO

Field Summary

Modifier and TypeField and Description
private boolean
private final List<String>
list

The underlying list (never null).

private static final long

Constructor Summary

AccessConstructor and Description
public
MutableThreadContextStack()

Constructs an empty MutableThreadContextStack.

public
MutableThreadContextStack(final List<String>
Initial elements to be stored in this stack implementation.
list
)

Constructs a new instance.

private

Method Summary

Modifier and TypeMethod and Description
public boolean
add(final String
element whose presence in this collection is to be ensured
s
)

Implements java.util.Collection.add.

Ensures that this collection contains the specified element (optional operation).

public boolean
addAll(final Collection<? extends String>
collection containing elements to be added to this collection
strings
)

Implements java.util.Collection.addAll.

Adds all of the elements in the specified collection to this collection (optional operation).

public List<String>
asList()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.asList.

Returns all the elements in the stack in a List.

private void
public void
clear()

Implements java.util.Collection.clear.

Removes all of the elements from this collection (optional operation).

public boolean
contains(final Object
element whose presence in this collection is to be tested
o
)

Implements java.util.Collection.contains.

Returns true if this collection contains the specified element.

public boolean
containsAll(final Collection<?>
collection to be checked for containment in this collection
objects
)

Implements java.util.Collection.containsAll.

Returns true if this collection contains all of the elements in the specified collection.

public ThreadContextStack
copy()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.copy.

Returns a copy of the ContextStack.

public boolean
equals(final Object
object to be compared for equality with this collection
obj
)

Overrides java.lang.Object.equals.

Implements java.util.Collection.equals.

Compares the specified object with this collection for equality.

public void
formatTo(final StringBuilder
the StringBuilder to write into
buffer
)

Implements org.apache.logging.log4j.util.StringBuilderFormattable.formatTo.

Writes a text representation of this object into the specified StringBuilder, ideally without allocating temporary objects.

public void
freeze()

"Freezes" this context stack so it becomes immutable: all mutator methods will throw an exception from now on.

public int
getDepth()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.getDepth.

Returns the number of elements in the stack.

public ThreadContext.ContextStack
getImmutableStackOrNull()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.getImmutableStackOrNull.

Returns a ContextStack with the same contents as this ContextStack or null.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Implements java.util.Collection.hashCode.

Returns the hash code value for this collection.

public boolean
isEmpty()

Implements java.util.Collection.isEmpty.

Returns true if this collection contains no elements.

public boolean

Returns:

whether this context stack is frozen.
isFrozen
()

Returns whether this context stack is frozen.

public Iterator<String>
iterator()

Implements java.util.Collection.iterator.

Returns an iterator over the elements in this collection.

public String
peek()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.peek.

Returns the element at the top of the stack without removing it or null if the stack is empty.

public String
pop()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.pop.

Returns the element at the top of the stack.

public void
push(final String
The element to add.
message
)

Implements org.apache.logging.log4j.ThreadContext.ContextStack.push.

Pushes an element onto the stack.

public boolean
remove(final Object
element to be removed from this collection, if present
o
)

Implements java.util.Collection.remove.

Removes a single instance of the specified element from this collection, if it is present (optional operation).

public boolean
removeAll(final Collection<?>
collection containing elements to be removed from this collection
objects
)

Implements java.util.Collection.removeAll.

Removes all of this collection's elements that are also contained in the specified collection (optional operation).

public boolean
retainAll(final Collection<?>
collection containing elements to be retained in this collection
objects
)

Implements java.util.Collection.retainAll.

Retains only the elements in this collection that are contained in the specified collection (optional operation).

public int
size()

Implements java.util.Collection.size.

Returns the number of elements in this collection.

public Object[]
toArray()

Implements java.util.Collection.toArray.

Returns an array containing all of the elements in this collection.

public <T> T[]
toArray(final T[]
the array into which the elements of this collection are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
ts
)

Implements java.util.Collection.toArray.

Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public void
trim(final int
The maximum number of items in the stack to keep.
depth
)

Implements org.apache.logging.log4j.ThreadContext.ContextStack.trim.

Trims elements from the end of the stack.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

frozenback to summary
private boolean frozen
listback to summary
private final List<String> list

The underlying list (never null).

serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

MutableThreadContextStackback to summary
public MutableThreadContextStack()

Constructs an empty MutableThreadContextStack.

MutableThreadContextStackback to summary
public MutableThreadContextStack(final List<String> list)

Constructs a new instance.

Parameters
list:List<String>

Initial elements to be stored in this stack implementation.

MutableThreadContextStackback to summary
private MutableThreadContextStack(final MutableThreadContextStack stack)

Method Detail

addback to summary
public boolean add(final String s)

Implements java.util.Collection.add.

Doc from java.util.Collection.add.

Ensures that this collection contains the specified element (optional operation). Returns true if this collection changed as a result of the call. (Returns false if this collection does not permit duplicates and already contains the specified element.)

Collections that support this operation may place limitations on what elements may be added to this collection. In particular, some collections will refuse to add null elements, and others will impose restrictions on the type of elements that may be added. Collection classes should clearly specify in their documentation any restrictions on what elements may be added.

If a collection refuses to add a particular element for any reason other than that it already contains the element, it must throw an exception (rather than returning false). This preserves the invariant that a collection always contains the specified element after this call returns.

Parameters
s:String

element whose presence in this collection is to be ensured

Returns:boolean

true if this collection changed as a result of the call

Annotations
@Override
addAllback to summary
public boolean addAll(final Collection<? extends String> strings)

Implements java.util.Collection.addAll.

Doc from java.util.Collection.addAll.

Adds all of the elements in the specified collection to this collection (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified collection is this collection, and this collection is nonempty.) If the specified collection has a defined encounter order, processing of its elements generally occurs in that order.

Parameters
strings:Collection<? extends String>

collection containing elements to be added to this collection

Returns:boolean

true if this collection changed as a result of the call

Annotations
@Override
asListback to summary
public List<String> asList()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.asList.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.asList.

Returns all the elements in the stack in a List.

Returns:List<String>

all the elements in the stack in a List.

Annotations
@Override
checkInvariantsback to summary
private void checkInvariants()
clearback to summary
public void clear()

Implements java.util.Collection.clear.

Doc from java.util.Collection.clear.

Removes all of the elements from this collection (optional operation). The collection will be empty after this method returns.

Annotations
@Override
containsback to summary
public boolean contains(final Object o)

Implements java.util.Collection.contains.

Doc from java.util.Collection.contains.

Returns true if this collection contains the specified element. More formally, returns true if and only if this collection contains at least one element e such that Objects.equals(o, e).

Parameters
o:Object

element whose presence in this collection is to be tested

Returns:boolean

true if this collection contains the specified element

Annotations
@Override
containsAllback to summary
public boolean containsAll(final Collection<?> objects)

Implements java.util.Collection.containsAll.

Doc from java.util.Collection.containsAll.

Returns true if this collection contains all of the elements in the specified collection.

Parameters
objects:Collection<?>

collection to be checked for containment in this collection

Returns:boolean

true if this collection contains all of the elements in the specified collection

Annotations
@Override
copyback to summary
public ThreadContextStack copy()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.copy.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.copy.

Returns a copy of the ContextStack.

Returns:ThreadContextStack

a copy of the ContextStack.

Annotations
@Override
equalsback to summary
public boolean equals(final Object obj)

Overrides java.lang.Object.equals.

Implements java.util.Collection.equals.

Doc from java.util.Collection.equals.

Compares the specified object with this collection for equality.

While the Collection interface adds no stipulations to the general contract for the Object.equals, programmers who implement the Collection interface "directly" (in other words, create a class that is a Collection but is not a Set or a List) must exercise care if they choose to override the Object.equals. It is not necessary to do so, and the simplest course of action is to rely on Object's implementation, but the implementor may wish to implement a "value comparison" in place of the default "reference comparison." (The List and Set interfaces mandate such value comparisons.)

The general contract for the Object.equals method states that equals must be symmetric (in other words, a.equals(b) if and only if b.equals(a)). The contracts for List.equals and Set.equals state that lists are only equal to other lists, and sets to other sets. Thus, a custom equals method for a collection class that implements neither the List nor Set interface must return false when this collection is compared to any list or set. (By the same logic, it is not possible to write a class that correctly implements both the Set and List interfaces.)

Parameters
obj:Object

object to be compared for equality with this collection

Returns:boolean

true if the specified object is equal to this collection

Annotations
@Override
formatToback to summary
public void formatTo(final StringBuilder buffer)

Implements org.apache.logging.log4j.util.StringBuilderFormattable.formatTo.

Doc from org.apache.logging.log4j.util.StringBuilderFormattable.formatTo.

Writes a text representation of this object into the specified StringBuilder, ideally without allocating temporary objects.

Parameters
buffer:StringBuilder

the StringBuilder to write into

Annotations
@Override
freezeback to summary
public void freeze()

"Freezes" this context stack so it becomes immutable: all mutator methods will throw an exception from now on.

getDepthback to summary
public int getDepth()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.getDepth.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.getDepth.

Returns the number of elements in the stack.

Returns:int

the number of elements in the stack.

Annotations
@Override
getImmutableStackOrNullback to summary
public ThreadContext.ContextStack getImmutableStackOrNull()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.getImmutableStackOrNull.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.getImmutableStackOrNull.

Returns a ContextStack with the same contents as this ContextStack or null. Attempts to modify the returned stack may or may not throw an exception, but will not affect the contents of this ContextStack.

Returns:ThreadContext.ContextStack

a ContextStack with the same contents as this ContextStack or null.

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Implements java.util.Collection.hashCode.

Doc from java.util.Collection.hashCode.

Returns the hash code value for this collection. While the Collection interface adds no stipulations to the general contract for the Object.hashCode method, programmers should take note that any class that overrides the Object.equals method must also override the Object.hashCode method in order to satisfy the general contract for the Object.hashCode method. In particular, c1.equals(c2) implies that c1.hashCode()==c2.hashCode().

Returns:int

the hash code value for this collection

Annotations
@Override
isEmptyback to summary
public boolean isEmpty()

Implements java.util.Collection.isEmpty.

Doc from java.util.Collection.isEmpty.

Returns true if this collection contains no elements.

Returns:boolean

true if this collection contains no elements

Annotations
@Override
isFrozenback to summary
public boolean isFrozen()

Returns whether this context stack is frozen.

Returns:boolean

whether this context stack is frozen.

iteratorback to summary
public Iterator<String> iterator()

Implements java.util.Collection.iterator.

Doc from java.util.Collection.iterator.

Returns an iterator over the elements in this collection. There are no guarantees concerning the order in which the elements are returned (unless this collection is an instance of some class that provides a guarantee).

Returns:Iterator<String>

an Iterator over the elements in this collection

Annotations
@Override
peekback to summary
public String peek()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.peek.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.peek.

Returns the element at the top of the stack without removing it or null if the stack is empty.

Returns:String

the element at the top of the stack or null if the stack is empty.

Annotations
@Override
popback to summary
public String pop()

Implements org.apache.logging.log4j.ThreadContext.ContextStack.pop.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.pop.

Returns the element at the top of the stack.

Returns:String

The element at the top of the stack.

Annotations
@Override
pushback to summary
public void push(final String message)

Implements org.apache.logging.log4j.ThreadContext.ContextStack.push.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.push.

Pushes an element onto the stack.

Parameters
message:String

The element to add.

Annotations
@Override
removeback to summary
public boolean remove(final Object o)

Implements java.util.Collection.remove.

Doc from java.util.Collection.remove.

Removes a single instance of the specified element from this collection, if it is present (optional operation). More formally, removes an element e such that Objects.equals(o, e), if this collection contains one or more such elements. Returns true if this collection contained the specified element (or equivalently, if this collection changed as a result of the call).

Parameters
o:Object

element to be removed from this collection, if present

Returns:boolean

true if an element was removed as a result of this call

Annotations
@Override
removeAllback to summary
public boolean removeAll(final Collection<?> objects)

Implements java.util.Collection.removeAll.

Doc from java.util.Collection.removeAll.

Removes all of this collection's elements that are also contained in the specified collection (optional operation). After this call returns, this collection will contain no elements in common with the specified collection.

Parameters
objects:Collection<?>

collection containing elements to be removed from this collection

Returns:boolean

true if this collection changed as a result of the call

Annotations
@Override
retainAllback to summary
public boolean retainAll(final Collection<?> objects)

Implements java.util.Collection.retainAll.

Doc from java.util.Collection.retainAll.

Retains only the elements in this collection that are contained in the specified collection (optional operation). In other words, removes from this collection all of its elements that are not contained in the specified collection.

Parameters
objects:Collection<?>

collection containing elements to be retained in this collection

Returns:boolean

true if this collection changed as a result of the call

Annotations
@Override
sizeback to summary
public int size()

Implements java.util.Collection.size.

Doc from java.util.Collection.size.

Returns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.

Returns:int

the number of elements in this collection

Annotations
@Override
toArrayback to summary
public Object[] toArray()

Implements java.util.Collection.toArray.

Doc from java.util.Collection.toArray.

Returns an array containing all of the elements in this collection. If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order. The returned array's runtime component type is Object.

The returned array will be "safe" in that no references to it are maintained by this collection. (In other words, this method must allocate a new array even if this collection is backed by an array). The caller is thus free to modify the returned array.

Returns:Object[]

an array, whose runtime component type is Object, containing all of the elements in this collection

Annotations
@Override
toArrayback to summary
public <T> T[] toArray(final T[] ts)

Implements java.util.Collection.toArray.

Doc from java.util.Collection.toArray.

Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array. If the collection fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this collection.

If this collection fits in the specified array with room to spare (i.e., the array has more elements than this collection), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of this collection only if the caller knows that this collection does not contain any null elements.)

If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.

Parameters
<T>
the component type of the array to contain the collection
ts:T[]

the array into which the elements of this collection are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.

Returns:T[]

an array containing all of the elements in this collection

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
trimback to summary
public void trim(final int depth)

Implements org.apache.logging.log4j.ThreadContext.ContextStack.trim.

Doc from org.apache.logging.log4j.ThreadContext.ContextStack.trim.

Trims elements from the end of the stack.

Parameters
depth:int

The maximum number of items in the stack to keep.

Annotations
@Override