package io.cattle.platform.util.type; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; public class NamedUtils { public static <T extends Named> Map<String, T> createMapByName(List<T> items) { Map<String, T> result = new HashMap<String, T>(); for (T item : items) { result.put(item.getName(), item); } return result; } public static String getName(Object obj) { if (obj instanceof Named) { return ((Named) obj).getName(); } else { return obj.getClass().getSimpleName(); } } public static String toDotSeparated(String name) { if (name == null) { return name; } return name.replaceAll("([a-z])([A-Z])", "$1.$2").toLowerCase(); } public static String toCamelCase(String name) { StringBuilder buf = new StringBuilder(); for (String part : name.split("_")) { if (buf.length() == 0) { buf.append(part); } else { buf.append(StringUtils.capitalize(part)); } } return buf.toString(); } public static String toUnderscoreSeparated(String name) { if (name == null) { return name; } return name.replaceAll("([a-z])([A-Z])", "$1_$2").toLowerCase(); } }