public static Set<Class> getAllWrappedClasses() { final List<TypeToWrapper> localTypeToWrapperList = getTypeToWrapper(); Set<Class> resultList = new HashSet<Class>(); if (localTypeToWrapperList != null) { for (TypeToWrapper typeToWrapper : localTypeToWrapperList) { resultList.add(typeToWrapper.getWrappedInstanceType()); } } return resultList; }
/** * Gets a list with all wrapper classes. * * @return a list with all wrapper classes */ public static Set<Class> findWrapperClasses() { final List<TypeToWrapper> localTypeToWrapperList = getTypeToWrapper(); Set<Class> resultList = new HashSet<Class>(); if (localTypeToWrapperList != null) { for (TypeToWrapper typeToWrapper : localTypeToWrapperList) { resultList.add(typeToWrapper.getWrapperType()); } } return resultList; }
/** * Does the initialization stuff like Creating the lookup map and bind the wrapper classes. */ public ContextLoggerConfiguration() { List<TypeToWrapper> tmpWrapperList = TypeToWrapper.getTypeToWrapper(); Map<ImplicitContext, Class> tmpImplicitContextClassMap = new ConcurrentHashMap<ImplicitContext, Class>(); Map<Class, Class> tmpClassToWrapperMap = new ConcurrentHashMap<Class, Class>(); // now iterate over types and fill map for (TypeToWrapper wrapper : tmpWrapperList) { tmpClassToWrapperMap.put(wrapper.getWrappedInstanceType(), wrapper.getWrapperType()); } Set<Class> tmpWrapperClasses = TypeToWrapper.findWrapperClasses(); Set<ImplicitContextData> implicitContextWrapperClasses = TypeToWrapper.getImplicitContextDataProviders(); for (ImplicitContextData instance : implicitContextWrapperClasses) { tmpImplicitContextClassMap.put(instance.getImplicitContext(), instance.getClass()); tmpWrapperClasses.add(instance.getClass()); } // must register custom data provider classes Set<CustomImplicitContextData> customImplicitContextDataProviderClasses = TypeToWrapper.getCustomImplicitDataProviders(); for (CustomImplicitContextData instance : customImplicitContextDataProviderClasses) { tmpWrapperClasses.add(instance.getClass()); } // Make collections immutable wrapperList = Collections.unmodifiableList(tmpWrapperList); implicitContextClassMap = Collections.unmodifiableMap(tmpImplicitContextClassMap); classToWrapperMap = Collections.unmodifiableMap(tmpClassToWrapperMap); wrapperClasses = Collections.unmodifiableSet(tmpWrapperClasses); profile = Profile.getCurrentProfile(); }