Package org.springframework.aot.generate
Class ClassNameGenerator
java.lang.Object
org.springframework.aot.generate.ClassNameGenerator
Generate unique class names based on a target
ClassName
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
(org.springframework.javapoet.ClassName defaultTarget) Create a new instance using the specifieddefaultTarget
and no feature name prefix.ClassNameGenerator
(org.springframework.javapoet.ClassName defaultTarget, String featureNamePrefix) Create a new instance using the specifieddefaultTarget
and feature name prefix. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.javapoet.ClassName
generateClassName
(String featureName, org.springframework.javapoet.ClassName target) Generate a uniqueClassName
based on the specifiedfeatureName
andtarget
.
-
Constructor Details
-
ClassNameGenerator
public ClassNameGenerator(org.springframework.javapoet.ClassName defaultTarget) Create a new instance using the specifieddefaultTarget
and no feature name prefix.- Parameters:
defaultTarget
- the default target class to use
-
ClassNameGenerator
public ClassNameGenerator(org.springframework.javapoet.ClassName defaultTarget, String featureNamePrefix) 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(String featureName, @Nullable org.springframework.javapoet.ClassName target) 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:
featureName
- the name of the feature that the generated class supportstarget
- the class the newly generated class relates to, ornull
to use the main target- Returns:
- a unique generated class name
-