package org.rascalmpl.value.impl.fast;
import org.rascalmpl.value.IList;
import org.rascalmpl.value.IListRelation;
public class RelationViewOnList implements IListRelation<IList> {
protected final IList rel1;
public RelationViewOnList(IList rel1) {
this.rel1 = rel1;
}
@Override
public IList compose(IListRelation<IList> rel2) {
return RelationalFunctionsOnList.compose(rel1, rel2.asList());
}
@Override
public IList closure() {
return RelationalFunctionsOnList.closure(rel1);
}
@Override
public IList closureStar() {
return RelationalFunctionsOnList.closureStar(rel1);
}
@Override
public int arity() {
return rel1.getElementType().getArity();
}
@Override
public IList project(int... fieldIndexes) {
return RelationalFunctionsOnList.project(rel1, fieldIndexes);
}
@Override
public IList projectByFieldNames(String... fieldsNames) {
return RelationalFunctionsOnList.projectByFieldNames(rel1, fieldsNames);
}
@Override
public IList carrier() {
return RelationalFunctionsOnList.carrier(rel1);
}
@Override
public IList domain() {
return RelationalFunctionsOnList.domain(rel1);
}
@Override
public IList range() {
return RelationalFunctionsOnList.range(rel1);
}
@Override
public IList asList() {
return rel1;
}
@Override
public String toString() {
return rel1.toString();
}
}