Skip to content

UTIL_TypeResolver.INT_ClassTypeResolver

Class

apex
global interface UTIL_TypeResolver.INT_ClassTypeResolver

Known Derived Types: UTIL_TypeResolver.BaseClassResolver, UTIL_TypeResolver.BaseClassResolver.resolveType(String)

Interface for resolving Type objects from class names and chaining resolvers. Custom resolvers must be exception-safe. The default chain implementation (PackageClassResolver.resolveType) delegates to nextResolver?.resolveType(...) via the ?? operator and DOES NOT catch and fall through on exception. A custom resolver that throws will propagate the exception to the caller, bypassing any later resolver in the chain. Implementations should either return null for "I cannot resolve this — try the next resolver" OR catch their own exceptions and convert them to null before returning.


Methods

MethodDescription
global abstract Type resolveType(String typeName)Resolves a Type object from a class name.
global abstract UTIL_TypeResolver.INT_ClassTypeResolver setNext(UTIL_TypeResolver.INT_ClassTypeResolver nextTypeResolver)Sets the next resolver in the chain.

resolveType

apex
global abstract Type resolveType(String typeName)

Resolves a Type object from a class name. Returning null signals "I cannot resolve this — chain falls through to the next resolver." Throwing propagates to the caller without consulting later resolvers — see the exception-safety contract on the interface ApexDoc.

Parameters

ParameterTypeDescription
typeNameStringThe name of the class to resolve.

Returns Type — The resolved Type object, or null if not found.

Example

apex
INT_ClassTypeResolver resolver = new UTIL_TypeResolver.PackageClassResolver();
Type resolvedType = resolver.resolveType('UTIL_TypeResolver_TEST.MyPackagePrivateClass');

setNext

apex
global abstract UTIL_TypeResolver.INT_ClassTypeResolver setNext(UTIL_TypeResolver.INT_ClassTypeResolver nextTypeResolver)

Sets the next resolver in the chain.

Parameters

ParameterTypeDescription
nextTypeResolverUTIL_TypeResolver.INT_ClassTypeResolverThe next resolver to try if this one fails.

Returns UTIL_TypeResolver.INT_ClassTypeResolver — The next resolver in the chain.

Example

apex
INT_ClassTypeResolver resolver = new UTIL_TypeResolver.PackageClassResolver();
INT_ClassTypeResolver nextResolver = new CustomClassResolver();
resolver.setNext(nextResolver);