2 * SPDX-License-Identifier: LGPL-2.1-only
4 * Copyright (C) 2015 EfficiOS Inc.
5 * Copyright (C) 2015 Alexandre Montplaisir <alexmonthy@efficios.com>
8 package org
.lttng
.ust
.agent
.session
;
11 * Event filtering rule present in a tracing session.
13 * It typically comes from a "lttng enable-event" command, and contains a
14 * domain, event name, log level and filter string.
16 * @author Alexandre Montplaisir
18 public class EventRule
{
20 private final String eventName
;
21 private final LogLevelSelector logLevelSelector
;
22 private final String filterString
;
28 * The name of the tracepoint
29 * @param logLevelSelector
30 * The log level of the event rule
32 * The filtering string. May be null if there is no extra filter.
34 public EventRule(String eventName
, LogLevelSelector logLevelSelector
, String filterString
) {
35 this.eventName
= eventName
;
36 this.logLevelSelector
= logLevelSelector
;
37 this.filterString
= filterString
;
41 * Get the event name of this rule.
43 * @return The event name
45 public String
getEventName() {
50 * Get the log level filter configuration of the rule.
52 * @return The log level selector
54 public LogLevelSelector
getLogLevelSelector() {
55 return logLevelSelector
;
59 * Get the filter string associated with this rule.
61 * @return The filter string, may be null for no filter string.
63 public String
getFilterString() {
67 // ------------------------------------------------------------------------
68 // Methods from Object
69 // ------------------------------------------------------------------------
72 public int hashCode() {
75 result
= prime
* result
+ ((eventName
== null) ?
0 : eventName
.hashCode());
76 result
= prime
* result
+ ((filterString
== null) ?
0 : filterString
.hashCode());
77 result
= prime
* result
+ ((logLevelSelector
== null) ?
0 : logLevelSelector
.hashCode());
82 public boolean equals(Object obj
) {
89 if (getClass() != obj
.getClass()) {
92 EventRule other
= (EventRule
) obj
;
94 if (eventName
== null) {
95 if (other
.eventName
!= null) {
98 } else if (!eventName
.equals(other
.eventName
)) {
103 if (filterString
== null) {
104 if (other
.filterString
!= null) {
107 } else if (!filterString
.equals(other
.filterString
)) {
112 if (logLevelSelector
== null) {
113 if (other
.logLevelSelector
!= null) {
116 } else if (!logLevelSelector
.equals(other
.logLevelSelector
)) {
125 public String
toString() {
126 return "Event name = " + getEventName() +
127 ", Log level selector = (" + getLogLevelSelector().toString() + ")" +
128 ", Filter string = " + getFilterString();