51 lines
1.2 KiB
Java
51 lines
1.2 KiB
Java
package it.cavallium.data.generator.plugin;
|
|
|
|
import com.squareup.javapoet.CodeBlock;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
|
|
public class SerializeCodeBlockGenerator {
|
|
|
|
private final CodeBlock before;
|
|
private final CodeBlock after;
|
|
|
|
public SerializeCodeBlockGenerator(CodeBlock before, CodeBlock after) {
|
|
this.before = before;
|
|
this.after = after;
|
|
}
|
|
|
|
public CodeBlock generate(String method) {
|
|
return generate(CodeBlock.builder().add(method).build());
|
|
}
|
|
|
|
public CodeBlock generate(CodeBlock method) {
|
|
return CodeBlock.join(List.of(before, method, after), "");
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (this == o) {
|
|
return true;
|
|
}
|
|
if (o == null || getClass() != o.getClass()) {
|
|
return false;
|
|
}
|
|
SerializeCodeBlockGenerator that = (SerializeCodeBlockGenerator) o;
|
|
return Objects.equals(before, that.before) && Objects.equals(after, that.after);
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
int hash = 0;
|
|
hash += ConfigUtils.hashCode(before);
|
|
hash += ConfigUtils.hashCode(after);
|
|
return hash;
|
|
}
|
|
|
|
|
|
@Override
|
|
public String toString() {
|
|
return CodeBlock.builder().add("$[").add(generate(CodeBlock.builder().add("test.get()").build())).add(";\n$]").build().toString();
|
|
}
|
|
}
|