-
Notifications
You must be signed in to change notification settings - Fork 53
io microsphere reflect TypeUtils
Type: Class | Module: microsphere-java-core | Package: io.microsphere.reflect | Since: 1.0.0
Source:
microsphere-java-core/src/main/java/io/microsphere/reflect/TypeUtils.java
The utilities class for Type
public abstract class TypeUtils implements Utils-
Introduced in:
1.0.0 -
Current Project Version:
0.1.10-SNAPSHOT
This component is tested and compatible with the following Java versions:
| Java Version | Status |
|---|---|
| Java 8 | ✅ Compatible |
| Java 11 | ✅ Compatible |
| Java 17 | ✅ Compatible |
| Java 21 | ✅ Compatible |
| Java 25 | ✅ Compatible |
TypeUtils.isClass(String.class); // returns true
TypeUtils.isClass(Integer.TYPE); // returns true (for primitive types)
TypeUtils.isClass(new Object()); // returns false
TypeUtils.isClass(null); // returns falseTypeUtils.isObjectClass(Object.class); // returns true
TypeUtils.isObjectClass(String.class); // returns false
TypeUtils.isObjectClass(null); // returns falseTypeUtils.isObjectType(Object.class); // returns true
TypeUtils.isObjectType(String.class); // returns false
TypeUtils.isObjectType(null); // returns falseTypeUtils.isParameterizedType(List.class); // returns false (raw type)
TypeUtils.isParameterizedType(ArrayList.class); // returns false (raw type)
TypeUtils.isParameterizedType(new ArrayList<String>().getClass().getGenericSuperclass()); // returns true
TypeUtils.isParameterizedType(null); // returns falseTypeVariable<?> typeVariable = List.class.getTypeParameters()[0]; // E
TypeUtils.isTypeVariable(typeVariable); // returns true
TypeUtils.isTypeVariable(String.class); // returns false
TypeUtils.isTypeVariable(new Object()); // returns false
TypeUtils.isTypeVariable(null); // returns falseTypeVariable<?> typeVariable = List.class.getTypeParameters()[0]; // E
WildcardType wildcardType = (WildcardType) typeVariable.getBounds()[0]; // ? extends Object
TypeUtils.isWildcardType(wildcardType); // returns true
TypeUtils.isWildcardType(String.class); // returns false
TypeUtils.isWildcardType(new Object()); // returns false
TypeUtils.isWildcardType(null); // returns falseclass Example {
public <T> T[] valueOf(T... values) {
return values;
}
}
Method method = Scratch.class.getMethod("valueOf", Object[].class);
TypeUtils.isGenericArrayType(method.getGenericReturnType()); // returns true
TypeUtils.isGenericArrayType(String[].class); // returns false (array class, not GenericArrayType)
TypeUtils.isGenericArrayType(null); // returns falseclass Example {
public <T> T[] valueOf(T... values) {
return values;
}
}
TypeUtils.isActualType(Example.class); // returns true (Class)
ParameterizedType listType = (ParameterizedType) new ArrayList<String>().getClass().getGenericSuperclass();
TypeUtils.isActualType(listType); // returns true (ParameterizedType)
TypeVariable<?> typeVar = List.class.getTypeParameters()[0];
TypeUtils.isActualType(typeVar); // returns false (TypeVariable)
WildcardType wildcardType = (WildcardType) typeVar.getBounds()[0];
TypeUtils.isActualType(wildcardType); // returns false (WildcardType)
GenericArrayType arrayType = (GenericArrayType) Example.class.getMethod("valueOf", Object[].class).getGenericReturnType();
TypeUtils.isActualType(arrayType); // returns false (GenericArrayType)
TypeUtils.isActualType(null); // returns false (null value)TypeUtils.getRawType(List.class); // returns List.class
ParameterizedType parameterizedType = (ParameterizedType) new ArrayList<String>().getClass().getGenericSuperclass();
TypeUtils.getRawType(parameterizedType); // returns List.class
TypeUtils.getRawType(String.class); // returns String.class
TypeUtils.getRawType(null); // returns nullTypeUtils.getRawClass(List.class); // returns List.class
ParameterizedType parameterizedType = (ParameterizedType) new ArrayList<String>().getClass().getGenericSuperclass();
TypeUtils.getRawClass(parameterizedType); // returns List.class
TypeUtils.getRawClass(String.class); // returns String.class
TypeUtils.getRawClass(null); // returns nullType listType = new ArrayList<String>().getClass().getGenericSuperclass(); // ParameterizedType for List<String>
Type superType = List.class;
boolean assignable1 = TypeUtils.isAssignableFrom(superType, listType); // returns true
Type mapType = new HashMap<String, Integer>().getClass().getGenericSuperclass(); // ParameterizedType for AbstractMap<String, Integer>
Type superType2 = Map.class;
boolean assignable2 = TypeUtils.isAssignableFrom(superType2, mapType); // returns true
Type stringType = String.class;
Type integerType = Integer.class;
boolean assignable3 = TypeUtils.isAssignableFrom(stringType, integerType); // returns falseClass<?> superClass = List.class;
Type targetType = new ArrayList<String>().getClass().getGenericSuperclass(); // ParameterizedType for List<String>
boolean isAssignable = TypeUtils.isAssignableFrom(superClass, targetType); // returns true
// Primitive types:
boolean isIntAssignable = TypeUtils.isAssignableFrom(Number.class, Integer.TYPE); // returns true
// Null handling:
boolean isNullAssignable = TypeUtils.isAssignableFrom(Object.class, null); // returns falsepublic class ExampleClass implements List<String> {
// implementation details...
}
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for List<String>
List<Type> args = TypeUtils.resolveActualTypeArguments(type, List.class);
System.out.println(args.get(0)); // prints: java.lang.Stringpublic class ExampleClass implements List<String> {
// implementation details...
}
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for List<String>
Type arg = TypeUtils.resolveActualTypeArgument(type, List.class, 0);
System.out.println(arg); // prints: java.lang.Stringpublic class ExampleClass implements Map<String, Integer> {
// implementation details...
}
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for Map<String, Integer>
List<Class> args = TypeUtils.resolveActualTypeArgumentClasses(type, Map.class);
System.out.println(args); // prints: [class java.lang.String, class java.lang.Integer]public class ExampleClass implements List<String> {
// implementation details...
}
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for List<String>
Class<?> argClass = TypeUtils.resolveActualTypeArgumentClass(type, List.class, 0);
System.out.println(argClass); // prints: class java.lang.Stringpublic class ExampleClass implements List<String> {
// implementation details...
}
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for List<String>
List<Type> args = TypeUtils.resolveActualTypeArguments(type, List.class);
System.out.println(args.get(0)); // prints: java.lang.Stringclass ExampleClass extends HashMap<String, Integer> {}
Type type = ExampleClass.class;
List<Type> superclasses = TypeUtils.getAllGenericSuperclasses(type);
// The list will include:
// - ParameterizedType for java.util.HashMap<java.lang.String, java.lang.Integer>
// - Type for java.util.AbstractMap
// - Type for java.lang.Objectclass ExampleClass implements List<String>, Map<String, Integer> {}
Type type = ExampleClass.class;
List<Type> interfaces = TypeUtils.getAllGenericInterfaces(type);
// The list will include:
// - ParameterizedType for java.util.List<java.lang.String>
// - ParameterizedType for java.util.Map<java.lang.String, java.lang.Integer>class ExampleClass implements List<String>, Map<String, Integer> {}
Type type = ExampleClass.class;
List<ParameterizedType> result = TypeUtils.getParameterizedTypes(type);
// The list will include:
// - ParameterizedType for java.util.List<java.lang.String>
// - ParameterizedType for java.util.Map<java.lang.String, java.lang.Integer>Add the following dependency to your pom.xml:
<dependency>
<groupId>io.github.microsphere-projects</groupId>
<artifactId>microsphere-java-core</artifactId>
<version>${microsphere-java.version}</version>
</dependency>Tip: Use the BOM (
microsphere-java-dependencies) for consistent version management. See the Getting Started guide.
import io.microsphere.reflect.TypeUtils;| Method | Description |
|---|---|
isClass |
The property name for resolved generic types cache size : "microsphere.reflect.resolved-generic-types.cache.size"
|
isObjectClass |
Checks if the given class is the Object class. |
isObjectType |
Checks if the given object is the Object type. |
isParameterizedType |
Checks if the given object is an instance of ParameterizedType. |
isTypeVariable |
Checks if the given object is an instance of TypeVariable. |
isWildcardType |
Checks if the given object is an instance of WildcardType. |
isGenericArrayType |
Checks if the given object is an instance of GenericArrayType. |
isActualType |
Checks if the given type is a concrete actual type, which means it is either a Class or a |
getRawType |
Gets the raw type of the specified Type, if it is a ParameterizedType. |
getRawClass |
Gets the raw class of the specified Type, if it is a ParameterizedType or a Class. |
isAssignableFrom |
Determines whether one type can be assigned from another type, similar to the semantics of |
isAssignableFrom |
Checks whether the target type can be assigned to the given super class. |
resolveActualTypeArguments |
the semantics is same as Class#isAssignableFrom(Class)
|
resolveActualTypeArgument |
Resolves the actual type argument at the specified index from the given type for a base type. |
resolveActualTypeArgumentClasses |
Resolves the actual type argument classes used in the specified type for a given base type (class or interface). |
resolveActualTypeArgumentClass |
Resolves and returns the actual type argument class at the specified index from the given type for a base type. |
resolveActualTypeArguments |
Resolves the actual type arguments used in the specified type for a given base class. |
getAllGenericSuperclasses |
Retrieves all generic superclasses of the given type, including its hierarchical superclasses. |
getAllGenericInterfaces |
Retrieves all generic interfaces implemented by the given type, including those inherited from its superclasses. |
getParameterizedTypes |
Retrieves the parameterized types directly associated with the specified type, |
public static boolean isClass(Object type)The property name for resolved generic types cache size : "microsphere.reflect.resolved-generic-types.cache.size"
/
public static final String RESOLVED_GENERIC_TYPES_CACHE_SIZE_PROPERTY_NAME = MICROSPHERE_PROPERTY_NAME_PREFIX + "reflect.resolved-generic-types.cache.size";
/**
The default value of resolved generic types cache size : "256"
/
public static final String DEFAULT_RESOLVED_GENERIC_TYPES_CACHE_SIZE_PROPERTY_VALUE = "256";
/** The default size of resolved generic types cache / public static final int DEFAULT_RESOLVED_GENERIC_TYPES_CACHE_SIZE = parseInt(DEFAULT_RESOLVED_GENERIC_TYPES_CACHE_SIZE_PROPERTY_VALUE);
/** The size of resolved generic types cache /
public static boolean isObjectClass(Class<?> klass)Checks if the given class is the Object class.
`TypeUtils.isObjectClass(Object.class); // returns true TypeUtils.isObjectClass(String.class); // returns false TypeUtils.isObjectClass(null); // returns false `
public static boolean isObjectType(Object type)Checks if the given object is the Object type.
`TypeUtils.isObjectType(Object.class); // returns true TypeUtils.isObjectType(String.class); // returns false TypeUtils.isObjectType(null); // returns false `
public static boolean isParameterizedType(Object type)Checks if the given object is an instance of ParameterizedType.
`TypeUtils.isParameterizedType(List.class); // returns false (raw type) TypeUtils.isParameterizedType(ArrayList.class); // returns false (raw type) TypeUtils.isParameterizedType(new ArrayList().getClass().getGenericSuperclass()); // returns true TypeUtils.isParameterizedType(null); // returns false `
public static boolean isTypeVariable(Object type)Checks if the given object is an instance of TypeVariable.
`TypeVariable typeVariable = List.class.getTypeParameters()[0]; // E TypeUtils.isTypeVariable(typeVariable); // returns true TypeUtils.isTypeVariable(String.class); // returns false TypeUtils.isTypeVariable(new Object()); // returns false TypeUtils.isTypeVariable(null); // returns false `
public static boolean isWildcardType(Object type)Checks if the given object is an instance of WildcardType.
`TypeVariable typeVariable = List.class.getTypeParameters()[0]; // E WildcardType wildcardType = (WildcardType) typeVariable.getBounds()[0]; // ? extends Object TypeUtils.isWildcardType(wildcardType); // returns true TypeUtils.isWildcardType(String.class); // returns false TypeUtils.isWildcardType(new Object()); // returns false TypeUtils.isWildcardType(null); // returns false `
public static boolean isGenericArrayType(Object type)Checks if the given object is an instance of GenericArrayType.
`class Example {
public T[] valueOf(T... values) {
return values;
`
}
Method method = Scratch.class.getMethod("valueOf", Object[].class);
TypeUtils.isGenericArrayType(method.getGenericReturnType()); // returns true
TypeUtils.isGenericArrayType(String[].class); // returns false (array class, not GenericArrayType)
TypeUtils.isGenericArrayType(null); // returns false
}
public static boolean isActualType(Type type)Checks if the given type is a concrete actual type, which means it is either a Class or a
ParameterizedType.
`class Example {
public T[] valueOf(T... values) {
return values;
`
}
TypeUtils.isActualType(Example.class); // returns true (Class)
ParameterizedType listType = (ParameterizedType) new ArrayList().getClass().getGenericSuperclass();
TypeUtils.isActualType(listType); // returns true (ParameterizedType)
TypeVariable typeVar = List.class.getTypeParameters()[0];
TypeUtils.isActualType(typeVar); // returns false (TypeVariable)
WildcardType wildcardType = (WildcardType) typeVar.getBounds()[0];
TypeUtils.isActualType(wildcardType); // returns false (WildcardType)
GenericArrayType arrayType = (GenericArrayType) Example.class.getMethod("valueOf", Object[].class).getGenericReturnType();
TypeUtils.isActualType(arrayType); // returns false (GenericArrayType)
TypeUtils.isActualType(null); // returns false (null value)
}
public static Type getRawType(Type type)Gets the raw type of the specified Type, if it is a ParameterizedType.
If the given type is a parameterized type (e.g., List), this method
returns its raw type (e.g., List). If the type is not a parameterized type,
it simply returns the original type.
`TypeUtils.getRawType(List.class); // returns List.class ParameterizedType parameterizedType = (ParameterizedType) new ArrayList().getClass().getGenericSuperclass(); TypeUtils.getRawType(parameterizedType); // returns List.class TypeUtils.getRawType(String.class); // returns String.class TypeUtils.getRawType(null); // returns null `
public static Class<?> getRawClass(Type type)Gets the raw class of the specified Type, if it is a ParameterizedType or a Class.
If the given type is a parameterized type (e.g., List), this method
returns its raw class (e.g., List.class). If the type is a plain class (e.g., String),
it simply returns the same class. If the type does not represent a class, this method returns null.
`TypeUtils.getRawClass(List.class); // returns List.class ParameterizedType parameterizedType = (ParameterizedType) new ArrayList().getClass().getGenericSuperclass(); TypeUtils.getRawClass(parameterizedType); // returns List.class TypeUtils.getRawClass(String.class); // returns String.class TypeUtils.getRawClass(null); // returns null `
public static boolean isAssignableFrom(Type superType, Type targetType)Determines whether one type can be assigned from another type, similar to the semantics of
Class#isAssignableFrom(Class). This method considers both raw types and parameterized types.
`Type listType = new ArrayList().getClass().getGenericSuperclass(); // ParameterizedType for List Type superType = List.class; boolean assignable1 = TypeUtils.isAssignableFrom(superType, listType); // returns true Type mapType = new HashMap().getClass().getGenericSuperclass(); // ParameterizedType for AbstractMap Type superType2 = Map.class; boolean assignable2 = TypeUtils.isAssignableFrom(superType2, mapType); // returns true Type stringType = String.class; Type integerType = Integer.class; boolean assignable3 = TypeUtils.isAssignableFrom(stringType, integerType); // returns false `
public static boolean isAssignableFrom(Class<?> superClass, Type targetType)Checks whether the target type can be assigned to the given super class.
This method bridges between raw Class and more complex Type hierarchies,
delegating to a more specific implementation that handles type compatibility checks.
`Class superClass = List.class; Type targetType = new ArrayList().getClass().getGenericSuperclass(); // ParameterizedType for List boolean isAssignable = TypeUtils.isAssignableFrom(superClass, targetType); // returns true // Primitive types: boolean isIntAssignable = TypeUtils.isAssignableFrom(Number.class, Integer.TYPE); // returns true // Null handling: boolean isNullAssignable = TypeUtils.isAssignableFrom(Object.class, null); // returns false `
public static List<Type> resolveActualTypeArguments(Type type, Type baseType)the semantics is same as Class#isAssignableFrom(Class)
public static Type resolveActualTypeArgument(Type type, Type baseType, int index)Resolves the actual type argument at the specified index from the given type for a base type.
This method is useful when working with generic types and parameterized types, especially when trying to determine the actual type parameters used in a class hierarchy or interface implementation.
`public class ExampleClass implements List {
// implementation details...
`
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for List
Type arg = TypeUtils.resolveActualTypeArgument(type, List.class, 0);
System.out.println(arg); // prints: java.lang.String
}
public static List<Class> resolveActualTypeArgumentClasses(Type type, Type baseType)Resolves the actual type argument classes used in the specified type for a given base type (class or interface).
This method resolves generic type information and returns the concrete Class representations of the type arguments.
If a type argument cannot be resolved to a class (e.g., it's a wildcard or type variable), it will be omitted from the result.
`public class ExampleClass implements Map {
// implementation details...
`
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for Map
List args = TypeUtils.resolveActualTypeArgumentClasses(type, Map.class);
System.out.println(args); // prints: [class java.lang.String, class java.lang.Integer]
}
public static Class resolveActualTypeArgumentClass(Type type, Class baseType, int index)Resolves and returns the actual type argument class at the specified index from the given type for a base type.
This method resolves generic type information and returns the concrete Class representation
of the type argument at the specified index. If the type argument cannot be resolved to a class (e.g., it's
a wildcard or type variable), this method will return null.
`public class ExampleClass implements List {
// implementation details...
`
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for List
Class argClass = TypeUtils.resolveActualTypeArgumentClass(type, List.class, 0);
System.out.println(argClass); // prints: class java.lang.String
}
public static List<Type> resolveActualTypeArguments(Type type, Class baseClass)Resolves the actual type arguments used in the specified type for a given base class.
This method is useful when working with generic types and parameterized types, especially when trying to determine the actual type parameters used in a class hierarchy or interface implementation.
`public class ExampleClass implements List {
// implementation details...
`
Type type = ExampleClass.class.getGenericInterfaces()[0]; // ParameterizedType for List
List args = TypeUtils.resolveActualTypeArguments(type, List.class);
System.out.println(args.get(0)); // prints: java.lang.String
}
In this example, we retrieve the actual type argument used for the List interface implemented by
the class.
public static List<Type> getAllGenericSuperclasses(Type type)Retrieves all generic superclasses of the given type, including its hierarchical superclasses.
This method is useful when analyzing generic type information for classes that extend other generic classes.
`class ExampleClass extends HashMap {`
Type type = ExampleClass.class;
List superclasses = TypeUtils.getAllGenericSuperclasses(type);
// The list will include:
// - ParameterizedType for java.util.HashMap
// - Type for java.util.AbstractMap
// - Type for java.lang.Object
}
public static List<Type> getAllGenericInterfaces(Type type)Retrieves all generic interfaces implemented by the given type, including those inherited from its superclasses.
This method is useful when analyzing generic type information for classes that implement generic interfaces.
`class ExampleClass implements List, Map {`
Type type = ExampleClass.class;
List interfaces = TypeUtils.getAllGenericInterfaces(type);
// The list will include:
// - ParameterizedType for java.util.List
// - ParameterizedType for java.util.Map
}
public static List<ParameterizedType> getParameterizedTypes(Type type)Retrieves the parameterized types directly associated with the specified type,
including the type itself if it is a ParameterizedType, and any interfaces or superclasses
that are parameterized.
This method does not include hierarchical types — only the immediate generic information related to the given type is considered.
`class ExampleClass implements List, Map {`
Type type = ExampleClass.class;
List result = TypeUtils.getParameterizedTypes(type);
// The list will include:
// - ParameterizedType for java.util.List
// - ParameterizedType for java.util.Map
}
This documentation was auto-generated from the source code of microsphere-java.
java-annotations
java-core
- ACLLoggerFactory
- AbstractArtifactResourceResolver
- AbstractConverter
- AbstractDeque
- AbstractEventDispatcher
- AbstractLogger
- AbstractURLClassPathHandle
- AccessibleObjectUtils
- AdditionalMetadataResourceConfigurationPropertyLoader
- AnnotationUtils
- ArchiveFileArtifactResourceResolver
- ArrayEnumeration
- ArrayStack
- ArrayUtils
- Artifact
- ArtifactDetector
- ArtifactResourceResolver
- Assert
- BannedArtifactClassLoadingExecutor
- BaseUtils
- BeanMetadata
- BeanProperty
- BeanUtils
- ByteArrayToObjectConverter
- CharSequenceComparator
- CharSequenceUtils
- CharsetUtils
- ClassDataRepository
- ClassDefinition
- ClassFileJarEntryFilter
- ClassFilter
- ClassLoaderUtils
- ClassPathResourceConfigurationPropertyLoader
- ClassPathUtils
- ClassUtils
- ClassicProcessIdResolver
- ClassicURLClassPathHandle
- CollectionUtils
- Compatible
- CompositeSubProtocolURLConnectionFactory
- CompositeURLStreamHandlerFactory
- ConditionalEventListener
- ConfigurationProperty
- ConfigurationPropertyGenerator
- ConfigurationPropertyLoader
- ConfigurationPropertyReader
- Configurer
- ConsoleURLConnection
- Constants
- ConstructorDefinition
- ConstructorUtils
- Converter
- Converters
- CustomizedThreadFactory
- DefaultConfigurationPropertyGenerator
- DefaultConfigurationPropertyReader
- DefaultDeserializer
- DefaultEntry
- DefaultSerializer
- DelegatingBlockingQueue
- DelegatingDeque
- DelegatingIterator
- DelegatingQueue
- DelegatingScheduledExecutorService
- DelegatingURLConnection
- DelegatingURLStreamHandlerFactory
- DelegatingWrapper
- Deprecation
- Deserializer
- Deserializers
- DirectEventDispatcher
- DirectoryFileFilter
- EmptyDeque
- EmptyIterable
- EmptyIterator
- EnumerationIteratorAdapter
- EnumerationUtils
- Event
- EventDispatcher
- EventListener
- ExceptionUtils
- ExecutableDefinition
- ExecutableUtils
- ExecutorUtils
- ExtendableProtocolURLStreamHandler
- FastByteArrayInputStream
- FastByteArrayOutputStream
- FieldDefinition
- FieldUtils
- FileChangedEvent
- FileChangedListener
- FileConstants
- FileExtensionFilter
- FileUtils
- FileWatchService
- Filter
- FilterOperator
- FilterUtils
- FormatUtils
- Functional
- GenericEvent
- GenericEventListener
- Handler
- Handler
- HierarchicalClassComparator
- IOFileFilter
- IOUtils
- ImmutableEntry
- IterableAdapter
- IterableUtils
- Iterators
- JDKLoggerFactory
- JSON
- JSONArray
- JSONException
- JSONObject
- JSONStringer
- JSONTokener
- JSONUtils
- JarEntryFilter
- JarUtils
- JavaType
- JmxUtils
- ListUtils
- Listenable
- Lists
- Logger
- LoggerFactory
- LoggingFileChangedListener
- MBeanAttribute
- MBeanAttributeInfoBuilder
- MBeanConstructorInfoBuilder
- MBeanDescribableBuilder
- MBeanExecutableInfoBuilder
- MBeanFeatureInfoBuilder
- MBeanInfoBuilder
- MBeanNotificationInfoBuilder
- MBeanOperationInfoBuilder
- MBeanParameterInfoBuilder
- ManagementUtils
- ManifestArtifactResourceResolver
- MapToPropertiesConverter
- MapUtils
- Maps
- MavenArtifact
- MavenArtifactResourceResolver
- MemberDefinition
- MemberUtils
- MetadataResourceConfigurationPropertyLoader
- MethodDefinition
- MethodHandleUtils
- MethodHandlesLookupUtils
- MethodUtils
- ModernProcessIdResolver
- ModernURLClassPathHandle
- Modifier
- MultiValueConverter
- MultipleType
- MutableInteger
- MutableURLStreamHandlerFactory
- NameFileFilter
- NoOpLogger
- NoOpLoggerFactory
- NoOpURLClassPathHandle
- NumberToByteConverter
- NumberToCharacterConverter
- NumberToDoubleConverter
- NumberToFloatConverter
- NumberToIntegerConverter
- NumberToLongConverter
- NumberToShortConverter
- NumberUtils
- ObjectToBooleanConverter
- ObjectToByteArrayConverter
- ObjectToByteConverter
- ObjectToCharacterConverter
- ObjectToDoubleConverter
- ObjectToFloatConverter
- ObjectToIntegerConverter
- ObjectToLongConverter
- ObjectToOptionalConverter
- ObjectToShortConverter
- ObjectToStringConverter
- PackageNameClassFilter
- PackageNameClassNameFilter
- ParallelEventDispatcher
- ParameterizedTypeImpl
- PathConstants
- Predicates
- Prioritized
- PriorityComparator
- ProcessExecutor
- ProcessIdResolver
- ProcessManager
- PropertiesToStringConverter
- PropertiesUtils
- PropertyConstants
- PropertyResourceBundleControl
- PropertyResourceBundleUtils
- ProtocolConstants
- ProxyUtils
- QueueUtils
- ReadOnlyIterator
- ReflectionUtils
- ReflectiveConfigurationPropertyGenerator
- ReflectiveDefinition
- ResourceConstants
- ReversedDeque
- Scanner
- SecurityUtils
- SeparatorConstants
- Serializer
- Serializers
- ServiceLoaderURLStreamHandlerFactory
- ServiceLoaderUtils
- ServiceLoadingURLClassPathHandle
- SetUtils
- Sets
- Sfl4jLoggerFactory
- ShutdownHookCallbacksThread
- ShutdownHookUtils
- SimpleClassScanner
- SimpleFileScanner
- SimpleJarEntryScanner
- SingletonDeque
- SingletonEnumeration
- SingletonIterator
- StackTraceUtils
- StandardFileWatchService
- StandardURLStreamHandlerFactory
- StopWatch
- StreamArtifactResourceResolver
- Streams
- StringBuilderWriter
- StringConverter
- StringDeserializer
- StringSerializer
- StringToArrayConverter
- StringToBlockingDequeConverter
- StringToBlockingQueueConverter
- StringToBooleanConverter
- StringToByteConverter
- StringToCharArrayConverter
- StringToCharacterConverter
- StringToClassConverter
- StringToCollectionConverter
- StringToDequeConverter
- StringToDoubleConverter
- StringToDurationConverter
- StringToFloatConverter
- StringToInputStreamConverter
- StringToIntegerConverter
- StringToIterableConverter
- StringToListConverter
- StringToLongConverter
- StringToMultiValueConverter
- StringToNavigableSetConverter
- StringToQueueConverter
- StringToSetConverter
- StringToShortConverter
- StringToSortedSetConverter
- StringToStringConverter
- StringToTransferQueueConverter
- StringUtils
- SubProtocolURLConnectionFactory
- SymbolConstants
- SystemUtils
- ThrowableAction
- ThrowableBiConsumer
- ThrowableBiFunction
- ThrowableConsumer
- ThrowableFunction
- ThrowableSupplier
- ThrowableUtils
- TrueClassFilter
- TrueFileFilter
- TypeArgument
- TypeFinder
- TypeUtils
- URLClassPathHandle
- URLUtils
- UnmodifiableDeque
- UnmodifiableIterator
- UnmodifiableQueue
- Utils
- ValueHolder
- Version
- VersionUtils
- VirtualMachineProcessIdResolver
- Wrapper
- WrapperProcessor
jdk-tools
lang-model
- AnnotatedElementJSONElementVisitor
- AnnotationUtils
- ClassUtils
- ConstructorUtils
- ElementUtils
- ExecutableElementComparator
- FieldUtils
- JSONAnnotationValueVisitor
- JSONElementVisitor
- LoggerUtils
- MemberUtils
- MessagerUtils
- MethodUtils
- ResolvableAnnotationValueVisitor
- StringAnnotationValue
- TypeUtils
annotation-processor
- ConfigurationPropertyAnnotationProcessor
- ConfigurationPropertyJSONElementVisitor
- FilerProcessor
- ResourceProcessor
java-test
- AbstractAnnotationProcessingTest
- Ancestor
- AnnotationProcessingTestProcessor
- ArrayTypeModel
- CollectionTypeModel
- Color
- CompilerInvocationInterceptor
- ConfigurationPropertyModel
- DefaultTestService
- GenericTestService
- MapTypeModel
- Model
- Parent
- PrimitiveTypeModel
- SimpleTypeModel
- StringArrayList
- TestAnnotation
- TestService
- TestServiceImpl