-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBeamModeProtoAdapter.java
More file actions
40 lines (36 loc) · 1.32 KB
/
BeamModeProtoAdapter.java
File metadata and controls
40 lines (36 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
* @license
* Copyright CERN and copyright holders of ALICE O2. This software is
* distributed under the terms of the GNU General Public License v3 (GPL
* Version 3), copied verbatim in the file "COPYING".
*
* See http://alice-o2.web.cern.ch/license for full licensing information.
*
* In applying this license CERN does not waive the privileges and immunities
* granted to it by virtue of its status as an Intergovernmental Organization
* or submit itself to any jurisdiction.
*/
package alice.dip.adapters;
import alice.dip.enums.BeamModeEnum;
/**
* Adapter class to convert between string representations of beam modes and the BeamModeEnum.
*/
public class BeamModeProtoAdapter {
/**
* Returns the enum constant matching the given string, or UNKNOWN if not found.
* Accepts both space and underscore separated names, case-insensitive.
* @param beamMode The beam mode string to convert.
* @return The corresponding BeamModeEnum constant, or UNKNOWN if not recognized.
*/
public static BeamModeEnum fromStringToEnum(String beamMode) {
if (beamMode == null || beamMode.trim().isEmpty()) {
return BeamModeEnum.UNKNOWN;
}
for (BeamModeEnum value : BeamModeEnum.values()) {
if (value.label.equalsIgnoreCase(beamMode)) {
return value;
}
}
return BeamModeEnum.UNKNOWN;
}
}