1 /*
2 * Logback: the reliable, generic, fast and flexible logging framework.
3 * Copyright (C) 1999-2024, QOS.ch. All rights reserved.
4 *
5 * This program and the accompanying materials are dual-licensed under
6 * either the terms of the Eclipse Public License v1.0 as published by
7 * the Eclipse Foundation
8 *
9 * or (per the licensee's choosing)
10 *
11 * under the terms of the GNU Lesser General Public License version 2.1
12 * as published by the Free Software Foundation.
13 */
14
15 package ch.qos.logback.classic.boolex;
16
17 import org.slf4j.Marker;
18
19 import java.util.List;
20
21 /**
22 * A helper class to be used in conjunction with {@link ch.qos.logback.classic.boolex.JaninoEventEvaluator}
23 *
24 * @since 1.5.4
25 */
26 public class MarkerList {
27
28 List<Marker> markers;
29
30 public MarkerList(List<Marker> markers) {
31 this.markers = markers;
32 }
33
34 /**
35 * Check whether this list contains a given marker.
36 *
37 * @param markerName
38 * @return
39 */
40 public boolean contains(String markerName) {
41 if(markerName == null || markerName.trim().length() == 0)
42 return false;
43
44 if(markers == null || markers.isEmpty())
45 return false;
46
47 final boolean result = markers.stream().anyMatch( m -> m.contains(markerName));
48 return result;
49 }
50
51 /**
52 * Return the first marker on the list, can be null.
53 *
54 *
55 * @return the first marker on the list, can be null
56 */
57 public Marker getFirstMarker() {
58 if(markers == null || markers.isEmpty()) {
59 return null;
60 } else {
61 return markers.get(0);
62 }
63 }
64 }