Class Naming
java.lang.Object
io.github.projectunified.craftcommand.processor.Naming
Pure naming utilities for generated fields, methods, and identifiers.
Centralizes the naming conventions used across the code generator so that the same logical concept always maps to the same generated name, and so generated members read as if they had been written by hand. All methods are static and side-effect free.
-
Method Summary
Modifier and TypeMethodDescriptionstatic StringexecuteHelper(com.palantir.javapoet.ClassName nestedClass) Gets the execution helper method name for a nested subcommand class.static StringsanitizeIdentifier(String name) Sanitizes a string into a valid Java identifier.static StringsimpleName(com.palantir.javapoet.TypeName typeName) Gets the simple name of a type name.static StringsubcommandField(com.palantir.javapoet.ClassName nestedClass) Gets the field name holding a nested subcommand class instance.static StringsuggestHelper(com.palantir.javapoet.ClassName nestedClass) Gets the suggestion routing helper method name for a nested subcommand class.static StringsuggestMethod(com.palantir.javapoet.ClassName commandClass, String methodOrDefault, int paramIndex) Gets the helper method name for a parameter's suggestions.
-
Method Details
-
simpleName
Gets the simple name of a type name.- Parameters:
typeName- the type name- Returns:
- the simple name of a
TypeName(text after the last dot).
-
subcommandField
Gets the field name holding a nested subcommand class instance.- Parameters:
nestedClass- the class name of the nested command- Returns:
- the field name, for example
subInstanceOuterInnerfor classOuter.Inner
-
suggestMethod
public static String suggestMethod(com.palantir.javapoet.ClassName commandClass, String methodOrDefault, int paramIndex) Gets the helper method name for a parameter's suggestions.- Parameters:
commandClass- the command class being generatedmethodOrDefault- the subcommand name, or"default"for the default actionparamIndex- the zero-based parameter index- Returns:
- the helper method name, for example
suggestCalculatorAdd_0
-
executeHelper
Gets the execution helper method name for a nested subcommand class.- Parameters:
nestedClass- the nested class name- Returns:
- the helper that executes the nested command, for example
executeOuterInner
-
suggestHelper
Gets the suggestion routing helper method name for a nested subcommand class.- Parameters:
nestedClass- the nested class name- Returns:
- the helper that routes tab completion into the nested command, for example
suggestOuterInner
-
sanitizeIdentifier
Sanitizes a string into a valid Java identifier.- Parameters:
name- the input name- Returns:
- a valid Java identifier derived from an arbitrary command name
(replaces
-and spaces with_).
-