/* * InitOperation.java * @Author Oleg Gorobets * Created: Jul 30, 2007 * CVS-ID: $Id: *************************************************************************/ package org.swfparser.operation; import java.util.ArrayList; import java.util.List; import java.util.Stack; import org.apache.log4j.Logger; import org.swfparser.Operation; import com.jswiff.swfrecords.actions.StackValue; public abstract class InitOperation extends AbstractOperation { private static Logger logger = Logger.getLogger(InitOperation.class); protected int numberOfArgs = 0; protected List<Operation> underOperations = new ArrayList<Operation>(); public InitOperation(Stack<Operation> stack) { super(stack); Operation numOfValues = stack.pop(); underOperations.add(numOfValues); logger.debug("Number of arguments = "+numOfValues); StackValue stackValue = (StackValue) numOfValues; numberOfArgs = stackValue.getIntValue(); readArguments(); } protected abstract void readArguments(); public int getArgsNumber() { return 0; } public abstract String getStringValue(int level); }