Package org.springframework.aot.generate
Class ClassNameGenerator
java.lang.Object
org.springframework.aot.generate.ClassNameGenerator
Generate unique class names based on target
Class
and a feature
name. This class is stateful so the same instance should be used for all
name generation.- Since:
- 6.0
- Author:
- Phillip Webb, Stephane Nicoll
-
Constructor Summary
ConstructorDescriptionClassNameGenerator
(Class<?> defaultTarget) Create a new instance using the specifieddefaultTarget
and no feature name prefix.ClassNameGenerator
(Class<?> defaultTarget, String featureNamePrefix) Create a new instance using the specifieddefaultTarget
and feature name prefix. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.javapoet.ClassName
generateClassName
(Class<?> target, String featureName) Generate a uniqueClassName
based on the specifiedfeatureName
andtarget
.
-
Constructor Details
-
ClassNameGenerator
Create a new instance using the specifieddefaultTarget
and no feature name prefix.- Parameters:
defaultTarget
- the default target class to use
-
ClassNameGenerator
Create a new instance using the specifieddefaultTarget
and feature name prefix.- Parameters:
defaultTarget
- the default target class to usefeatureNamePrefix
- the prefix to use to qualify feature names
-
-
Method Details
-
generateClassName
public org.springframework.javapoet.ClassName generateClassName(@Nullable Class<?> target, String featureName) Generate a uniqueClassName
based on the specifiedfeatureName
andtarget
. If thetarget
isnull
, the configured main target of this instance is used.The class name is a suffixed version of the target. For instance, a
com.example.Demo
target with anInitializer
feature name leads to acom.example.Demo__Initializer
generated class name. The feature name is qualified by the configured feature name prefix, if any.Generated class names are unique. If such a feature was already requested for this target, a counter is used to ensure uniqueness.
- Parameters:
target
- the class the newly generated class relates to, ornull
to use the main targetfeatureName
- the name of the feature that the generated class supports- Returns:
- a unique generated class name
-