PermissionTypeData.java
package com.syntifi.near.api.model.accesskey.permission;
import com.syntifi.near.api.exception.NoSuchTypeException;
import lombok.Getter;
/**
* PermissionTypeData
*
* @author Alexandre Carvalho
* @author Andre Bertolace
* @since 0.0.1
*/
@Getter
public enum PermissionTypeData {
FULL_ACCESS("FullAccess", FullAccessPermission.class),
FUNCTION_CALL("FunctionCall", FunctionCallPermission.class);
private final String name;
private final Class<?> clazz;
PermissionTypeData(String name, Class<?> clazz) {
this.name = name;
this.clazz = clazz;
}
/**
* Retrieve Transform implementation class from Transform name
*
* @param name the name of the permission type
* @return the class of given permission type
* @throws NoSuchTypeException no such type found
*/
public static Class<?> getClassByName(String name) throws NoSuchTypeException {
for (PermissionTypeData t : values()) {
if (t.name.equals(name)) {
return t.getClazz();
}
}
throw new NoSuchTypeException(String.format("Permission Type %s invalid/not found.", name));
}
}