Lightweight string case conversion library for Java 8+. Zero dependencies.
- Convert between 7 case formats
- Static methods for quick conversions
- Fluent API for expressive code
- Annotation-based field mapping
- Handles acronyms (XML, HTTP, ID)
- Numbers in strings supported
| Format | Example |
|---|---|
| camelCase | myVariableName |
| PascalCase | MyVariableName |
| snake_case | my_variable_name |
| SCREAMING_SNAKE | MY_VARIABLE_NAME |
| kebab-case | my-variable-name |
| Train-Case | My-Variable-Name |
| dot.case | my.variable.name |
<dependency>
<groupId>dev.suprim</groupId>
<artifactId>casey</artifactId>
<version>0.0.1</version>
</dependency>import sant1ago.dev.suprim.casey.Casey;
Casey.toSnakeCase("myVariableName"); // "my_variable_name"
Casey.toCamelCase("my_variable_name"); // "myVariableName"
Casey.toPascalCase("my_variable_name"); // "MyVariableName"
Casey.toKebabCase("myVariableName"); // "my-variable-name"
Casey.toScreamingSnakeCase("myVar"); // "MY_VAR"
Casey.toTrainCase("myVar"); // "My-Var"
Casey.toDotCase("myVar"); // "my.var"import sant1ago.dev.suprim.casey.Casey;
import sant1ago.dev.suprim.casey.CaseFormat;
Casey.from("myVariableName")
.to(CaseFormat.SNAKE_CASE); // "my_variable_name"
Casey.from("my_variable_name")
.toCamelCase(); // "myVariableName"import sant1ago.dev.suprim.casey.annotation.CaseMapping;
import sant1ago.dev.suprim.casey.annotation.CaseMappingProcessor;
import sant1ago.dev.suprim.casey.CaseFormat;
public class User {
@CaseMapping(source = CaseFormat.SNAKE_CASE)
private String firstName;
@CaseMapping(sourceKey = "custom_key")
private String lastName;
}
// Map from snake_case map to object
Map<String, Object> data = Map.of("first_name", "John", "custom_key", "Doe");
User user = CaseMappingProcessor.mapTo(data, User.class);
// Convert object to map with snake_case keys
Map<String, Object> map = CaseMappingProcessor.toMap(user, CaseFormat.SNAKE_CASE);// Acronyms
Casey.toSnakeCase("XMLParser"); // "xml_parser"
Casey.toSnakeCase("MyHTTPClient"); // "my_http_client"
Casey.toSnakeCase("userID"); // "user_id"
// Numbers
Casey.toSnakeCase("user2Name"); // "user_2_name"
// Mixed delimiters
Casey.toSnakeCase("my.variable-name"); // "my_variable_name"Casey is open-sourced software licensed under the MIT license.