Skip to content

ChangeRecordField

pl.allegro.tech.allwrite.recipes.java.ChangeRecordField

Renames a field on a Java record type across all usages, including field access expressions and accessor method invocations.

Options:

Name Type Required Description
declaringTypeFqn String Yes Fully qualified name of the record type.
oldFieldName String Yes Current field name.
newFieldName String Yes New field name.

Given third-party class:

public record SomeRecord(String oldName) { }

then has been changed to:

public record SomeRecord(String newName) { }

In Java

Before (with declaringTypeFqn = "com.example.SomeRecord", oldFieldName = "oldName", newFieldName = "newName"):

class Foo {
    String foo(SomeRecord someRecord) {
        return someRecord.oldName();
    }
}

After:

class Foo {
    String foo(SomeRecord someRecord) {
        return someRecord.newName();
    }
}

In Kotlin

Before (with declaringTypeFqn = "com.example.SomeRecord", oldFieldName = "oldName", newFieldName = "newName"):

fun foo(someRecord: SomeRecord): String {
    return someRecord.oldName
}

After:

fun foo(someRecord: SomeRecord): String {
    return someRecord.newName
}