ClassResolvers Class — netty Architecture
Architecture documentation for the ClassResolvers class in ClassResolvers.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7314e21c_4e1d_c821_d398_247dfd881403["ClassResolvers"] 07e2565e_e4f3_5f0c_8750_4b6120cf2b8f["ClassResolvers.java"] 7314e21c_4e1d_c821_d398_247dfd881403 -->|defined in| 07e2565e_e4f3_5f0c_8750_4b6120cf2b8f b2fe9c87_5012_f822_12e1_209e1c53517a["ClassResolver()"] 7314e21c_4e1d_c821_d398_247dfd881403 -->|method| b2fe9c87_5012_f822_12e1_209e1c53517a 2bef9a15_b772_8d4b_b1a6_19fd403baa72["ClassLoader()"] 7314e21c_4e1d_c821_d398_247dfd881403 -->|method| 2bef9a15_b772_8d4b_b1a6_19fd403baa72 52388496_97f5_c5e1_47fe_9ebe85612c06["ClassResolvers()"] 7314e21c_4e1d_c821_d398_247dfd881403 -->|method| 52388496_97f5_c5e1_47fe_9ebe85612c06
Relationship Graph
Source Code
codec-base/src/main/java/io/netty/handler/codec/serialization/ClassResolvers.java lines 37–117
@Deprecated
public final class ClassResolvers {
/**
* cache disabled
* @param classLoader - specific classLoader to use, or null if you want to revert to default
* @return new instance of class resolver
*/
public static ClassResolver cacheDisabled(ClassLoader classLoader) {
return new ClassLoaderClassResolver(defaultClassLoader(classLoader));
}
/**
* non-aggressive non-concurrent cache
* good for non-shared default cache
*
* @param classLoader - specific classLoader to use, or null if you want to revert to default
* @return new instance of class resolver
*/
public static ClassResolver weakCachingResolver(ClassLoader classLoader) {
return new CachingClassResolver(
new ClassLoaderClassResolver(defaultClassLoader(classLoader)),
new WeakReferenceMap<String, Class<?>>(new HashMap<String, Reference<Class<?>>>()));
}
/**
* aggressive non-concurrent cache
* good for non-shared cache, when we're not worried about class unloading
*
* @param classLoader - specific classLoader to use, or null if you want to revert to default
* @return new instance of class resolver
*/
public static ClassResolver softCachingResolver(ClassLoader classLoader) {
return new CachingClassResolver(
new ClassLoaderClassResolver(defaultClassLoader(classLoader)),
new SoftReferenceMap<String, Class<?>>(new HashMap<String, Reference<Class<?>>>()));
}
/**
* non-aggressive concurrent cache
* good for shared cache, when we're worried about class unloading
*
* @param classLoader - specific classLoader to use, or null if you want to revert to default
* @return new instance of class resolver
*/
public static ClassResolver weakCachingConcurrentResolver(ClassLoader classLoader) {
return new CachingClassResolver(
new ClassLoaderClassResolver(defaultClassLoader(classLoader)),
new WeakReferenceMap<String, Class<?>>(new ConcurrentHashMap<>()));
}
/**
* aggressive concurrent cache
* good for shared cache, when we're not worried about class unloading
*
* @param classLoader - specific classLoader to use, or null if you want to revert to default
* @return new instance of class resolver
*/
public static ClassResolver softCachingConcurrentResolver(ClassLoader classLoader) {
return new CachingClassResolver(
new ClassLoaderClassResolver(defaultClassLoader(classLoader)),
new SoftReferenceMap<String, Class<?>>(new ConcurrentHashMap<>()));
}
static ClassLoader defaultClassLoader(ClassLoader classLoader) {
if (classLoader != null) {
return classLoader;
}
final ClassLoader contextClassLoader = PlatformDependent.getContextClassLoader();
if (contextClassLoader != null) {
return contextClassLoader;
}
return PlatformDependent.getClassLoader(ClassResolvers.class);
}
private ClassResolvers() {
// Unused
}
}
Source
Frequently Asked Questions
What is the ClassResolvers class?
ClassResolvers is a class in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ClassResolvers.java.
Where is ClassResolvers defined?
ClassResolvers is defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ClassResolvers.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free