package de.plushnikov.intellij.plugin.action.lombok;
import com.intellij.psi.PsiClass;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.jetbrains.annotations.NotNull;
public class LombokDataHandler extends BaseLombokHandler {
private final BaseLombokHandler[] handlers;
public LombokDataHandler() {
handlers = new BaseLombokHandler[]{
new LombokGetterHandler(), new LombokSetterHandler(),
new LombokToStringHandler(), new LombokEqualsAndHashcodeHandler()};
}
protected void processClass(@NotNull PsiClass psiClass) {
for (BaseLombokHandler handler : handlers) {
handler.processClass(psiClass);
}
removeDefaultAnnotation(psiClass, Getter.class);
removeDefaultAnnotation(psiClass, Setter.class);
removeDefaultAnnotation(psiClass, ToString.class);
removeDefaultAnnotation(psiClass, EqualsAndHashCode.class);
addAnnotation(psiClass, Data.class);
}
}