blob: e84c641ff9c375673c73c6089e0c99fcf46a8334 [file] [log] [blame]
package org.jetbrains.protocolReader;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
class ParserRootInterfaceItem implements Comparable<ParserRootInterfaceItem> {
final String domain;
final String name;
private final ClassNameScheme.Input nameScheme;
final String fullName;
public ParserRootInterfaceItem(String domain, String name, ClassNameScheme.Input nameScheme) {
this.domain = domain;
this.name = name;
this.nameScheme = nameScheme;
fullName = nameScheme.getFullName(domain, name).getFullText();
}
void writeCode(TextOutput out) throws IOException {
out.append("@org.jetbrains.jsonProtocol.JsonParseMethod").newLine();
out.append("public abstract ").append(fullName).space();
appendReadMethodName(out);
out.append("(").append(Util.JSON_READER_PARAMETER_DEF).append(")").semi().newLine();
}
void appendReadMethodName(TextOutput out) {
out.append(nameScheme.getParseMethodName(domain, name));
}
@Override
public int compareTo(@NotNull ParserRootInterfaceItem o) {
return fullName.compareTo(o.fullName);
}
}