001 package railo.runtime.com; 002 003 import java.util.Iterator; 004 005 import com.jacob.com.EnumVariant; 006 007 /** 008 * 009 */ 010 public final class COMValueWrapperIterator implements Iterator { 011 012 private EnumVariant enumVariant; 013 private COMObject wrapper; 014 015 /** 016 * @param wrapper 017 */ 018 public COMValueWrapperIterator(COMObject wrapper) { 019 this.enumVariant=new EnumVariant(wrapper.getDispatch()); 020 this.wrapper=wrapper; 021 } 022 023 @Override 024 public void remove() { 025 enumVariant.safeRelease(); 026 } 027 028 @Override 029 public boolean hasNext() { 030 return enumVariant.hasMoreElements(); 031 } 032 033 @Override 034 public Object next() { 035 return COMUtil.toObject(wrapper,enumVariant.Next(),"",null); 036 } 037 }