Код: Выделить всё
@DecryptGetter
private String sensitiveData;
< /code>
Это генерирует методы, такие как: < /p>
public void setSensitiveData(String data) {
this.sensitiveData = CryptoUtils.encrypt(data);
}
public String getSensitiveData() {
return CryptoUtils.decrypt(this.sensitiveData);
}
< /code>
Ключевое отличие от Lombok заключается в том, что эти методы должны вызывать пользовательскую статическую логику (cryptoutils.encrypt () /decrypt ()), а не просто аксессов.@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.FIELD)
public @interface EncryptSetter {}
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.FIELD)
public @interface DecryptGetter {}
Можно ли создать пользовательскую аннотацию, такую как @Encryptsetter, который генерирует метод внутри одного и того же класса (например, Lombok)? /> Модификация AST (например, плагины Javac)?
APIS расширения Lombok?
Библиотеки манипуляции с байт-кодом, такие как Bytebuddy или Javassist?
Есть ли какие-либо примеры с открытым исходным кодом или коборные для этого? необходимо
предпочитаю легкие и поддерживаемые решения < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... r-but-with