java-commons/muscript/src/main/java/io/gitlab/jfronny/muscript/data/dynamic/DList.java

33 lines
797 B
Java

package io.gitlab.jfronny.muscript.data.dynamic;
import io.gitlab.jfronny.muscript.compiler.ExprWriter;
import java.io.IOException;
import java.util.List;
public non-sealed interface DList extends Dynamic<List<Dynamic<?>>> {
default Dynamic<?> get(int i) {
return getValue().get(i);
}
default int size() {
return getValue().size();
}
default boolean isEmpty() {
return getValue().isEmpty();
}
@Override
default void serialize(ExprWriter writer) throws IOException {
writer.append("listOf(");
boolean first = true;
for (Dynamic<?> dynamic : getValue()) {
if (!first) writer.append(", ");
first = false;
dynamic.serialize(writer);
}
writer.append(')');
}
}