Get Enum from String
public Enum EventType { USER_LOGIN, USER_LOGOUT, USER_COMPLETE_FORM, USER_CLICK }
static Map<String, EventType> nameToEvenType {
get {
Map<String, EventType> eventTypeValues = new Map<String, EventType>();
if (nameToEvenType == null){
for (EventType enumValue : EventType.values()){
eventTypeValues.put(String.valueOf(enumValue).toUpperCase(), enumValue);
}
}
return eventTypeValues;
}
private set;
}
public static EventType getEventType(String name){
return String.isBlank(name) ? null : nameToEvenType.get(name.toUpperCase());
}
Test Class
@IsTest
public static void testNameToEvenType(){
Test.startTest();
System.assertEquals(Events.EventType.USER_LOGIN, Events.getEventType('USER_LOGIN'));
System.assertEquals(Events.EventType.USER_LOGOUT, Events.getEventType('USER_LOGOUT'));
System.assertEquals(Events.EventType.USER_COMPLETE_FORM, Events.getEventType('USER_COMPLETE_FORM'));
System.assertEquals(Events.EventType.USER_CLICK, Events.getEventType('USER_CLICK'));
Test.stopTest();
}
Like this:
Like Loading...
Related
Published by Thys Michels
Cloud Architect - Salesforce and everything related
View all posts by Thys Michels