package com.sap.finex.interpreter;
import java.util.Collection;
import java.util.Iterator;
import structure.Field;
import structure.FinexClass;
import structure.Type;
import com.sap.runlet.abstractinterpreter.objects.MultiValuedObject;
import com.sap.runlet.abstractinterpreter.objects.RunletObject;
public class ConcatRunletObjectIterable
implements Iterable<com.sap.runlet.abstractinterpreter.objects.RunletObject<Field, Type, FinexClass>> {
private final Iterator<RunletObject<Field, Type, FinexClass>> flatteningIterator;
public ConcatRunletObjectIterable(Collection<RunletObject<Field, Type, FinexClass>> objectsToConcatenate) {
flatteningIterator = new MultiValuedObject<Field, Type, FinexClass>(
objectsToConcatenate.iterator().next().getType(),
objectsToConcatenate, /* ordered */ false, /* unique */ false).flatten().iterator();
}
@Override
public Iterator<RunletObject<Field, Type, FinexClass>> iterator() {
return flatteningIterator;
}
}