package org.maziarz.yiiclipse.codegen; import java.util.Collection; import org.eclipse.php.internal.core.ast.nodes.AST; import org.eclipse.php.internal.core.ast.nodes.ArrayCreation; import org.eclipse.php.internal.core.ast.nodes.ArrayElement; import org.eclipse.php.internal.core.ast.nodes.Expression; public class CollectionArrayMapper extends ObjectArrayMapper { public CollectionArrayMapper(AST container) { super(container); } @Override public Expression convert(Object o) { if (o instanceof Collection) { return convert((Collection)o); } throw new IllegalArgumentException(o.getClass()+" is not supported"); } public Expression convert(Collection<Object> collection) { ArrayCreation ac = container.newArrayCreation(); ArrayMapper am = new ArrayMapper(container); for (Object item : collection){ Expression expr = am.convert(item); ArrayElement ae = new ArrayElement(container); ae.setValue(expr); ac.elements().add(ae); } return ac; } }