25 lines
986 B
Java
25 lines
986 B
Java
package io.gitlab.jfronny.gson.compile.processor;
|
|
|
|
import com.squareup.javapoet.ClassName;
|
|
import com.squareup.javapoet.TypeName;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import javax.lang.model.element.TypeElement;
|
|
import javax.lang.model.type.TypeMirror;
|
|
|
|
public record SerializableClass(TypeElement classElement, ClassName generatedClassName, @Nullable TypeMirror adapter, boolean generateAdapter) {
|
|
public static SerializableClass of(TypeElement element, @Nullable TypeMirror with, boolean generateAdapter) {
|
|
ClassName className = ClassName.get(element);
|
|
ClassName generatedClassName = ClassName.get(className.packageName(), "GC_" + String.join("_", className.simpleNames()));
|
|
return new SerializableClass(element, generatedClassName, with, generateAdapter);
|
|
}
|
|
|
|
public ClassName getClassName() {
|
|
return ClassName.get(classElement);
|
|
}
|
|
|
|
public TypeName getTypeName() {
|
|
return TypeName.get(classElement.asType());
|
|
}
|
|
}
|