public static void addSimpleClassNames(final boolean includeSubtypes, final Class... classes) { SimpleClassNameCache.addSimpleClassNames(includeSubtypes, classes); }
public static void addSimpleClassNames(final boolean includeSubtypes, final Class... classes) { SimpleClassNameCache.addSimpleClassNames(includeSubtypes, classes); }
private static Map<String, Set<Class>> createIdToClasses() { final Map<String, Set<Class>> map = new ConcurrentHashMap<>(); for (final Class baseClass : baseClasses) { addSimpleClassNames(map, baseClass); } for (final Class clazz : ReflectionUtil.getAnnotatedTypes(JsonSimpleClassName.class)) { addSimpleClassName(map, clazz); } return map; }
/** * Allows you to add additional classes to the cache that you wish to be * accessed via the simple class name. * * @param includeSubtypes if true then all implementations are included. * @param classes the classes to be included. */ public static void addSimpleClassNames(final boolean includeSubtypes, final Class... classes) { initialise(); for (final Class clazz : classes) { final Set<Class> existingClasses = getClassesFromId(clazz.getSimpleName()); if (null == existingClasses || !existingClasses.contains(clazz)) { if (includeSubtypes) { addSimpleClassNames(idToClasses, clazz); } else { addSimpleClassName(idToClasses, clazz); } } } }