1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.slf4j.helpers;
18
19 import org.apache.logging.log4j.Marker;
20
21
22
23
24 public class MarkerWrapper extends BasicMarker implements Marker {
25 private static final long serialVersionUID = 1903952589649545191L;
26
27 private MarkerWrapper parent;
28
29 MarkerWrapper(final String name) {
30 super(name);
31 }
32
33 @Override
34 public void add(final org.slf4j.Marker reference) {
35 super.add(reference);
36 ((MarkerWrapper) reference).setParent(this);
37 }
38
39 private void setParent(final MarkerWrapper marker) {
40 parent = marker;
41 }
42
43 public org.apache.logging.log4j.Marker getParent() {
44 return this.parent;
45 }
46
47 public boolean isInstanceOf(final org.apache.logging.log4j.Marker marker) {
48 if (marker == null) {
49 throw new IllegalArgumentException("A marker parameter is required");
50 }
51
52 if (marker instanceof MarkerWrapper) {
53 return contains((MarkerWrapper) marker);
54 } else {
55 return contains(marker.getName());
56 }
57 }
58
59 public boolean isInstanceOf(final String name) {
60 if (name == null) {
61 throw new IllegalArgumentException("A marker name is required");
62 }
63 return contains(name);
64 }
65 }