@NotNull
@Override
public List<Column> columns() {
@NotNull List<Column> result = new ArrayList<>();
if ((Marshallable.class.isAssignableFrom(keyType()))) {
for (@NotNull final FieldInfo info : Wires.fieldInfos(keyType())) {
result.add(new Column(info.name(), true, true, "", info.type(), true));
}
} else {
result.add(new Column("key", true, true, "", keyType(), true));
}
boolean isReadOnly = requestContext.toUri().startsWith("/proc");
if ((Marshallable.class.isAssignableFrom(valueType()))) {
for (@NotNull final FieldInfo info : Wires.fieldInfos(valueType())) {
result.add(new Column(info.name(), isReadOnly, false, "", info.type(), true));
}
} else {
result.add(new Column("value", isReadOnly, false, "", valueType(), true));
}
return result;
}