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 @Override
44 public org.apache.logging.log4j.Marker getParent() {
45 return this.parent;
46 }
47
48 @Override
49 public boolean isInstanceOf(final org.apache.logging.log4j.Marker marker) {
50 if (marker == null) {
51 throw new IllegalArgumentException("A marker parameter is required");
52 }
53
54 if (marker instanceof MarkerWrapper) {
55 return contains((MarkerWrapper) marker);
56 } else {
57 return contains(marker.getName());
58 }
59 }
60
61 @Override
62 public boolean isInstanceOf(final String name) {
63 if (name == null) {
64 throw new IllegalArgumentException("A marker name is required");
65 }
66 return contains(name);
67 }
68 }