// Copyright 2001-2004, FreeHEP. package org.freehep.postscript; /** * Vritual Memory Operators for PostScript Processor * * @author Mark Donszelmann * @version $Id: MemoryOperator.java 8958 2006-09-12 23:37:43Z duns $ */ public class MemoryOperator extends PSOperator { public static Class[] operators = { Save.class, Restore.class, SetGlobal.class, CurrentGlobal.class, GCheck.class, StartJob.class, DefineUserObject.class, ExecUserObject.class, UndefineUserObject.class, UserObjects.class }; public boolean execute(OperandStack os) { throw new RuntimeException("Cannot execute class: "+getClass()); } } class Save extends MemoryOperator { public boolean execute(OperandStack os) { // FREEHEP-152: ignored os.push(new PSSave()); return true; } } class Restore extends MemoryOperator { { operandTypes = new Class[] {PSSave.class}; } public boolean execute(OperandStack os) { // FREEHEP-152: ignored os.popSave(); return true; } } class SetGlobal extends MemoryOperator { { operandTypes = new Class[] {PSBoolean.class}; } public boolean execute(OperandStack os) { // FIXME error(os, new Unimplemented()); return true; } } class CurrentGlobal extends MemoryOperator { public boolean execute(OperandStack os) { // FIXME error(os, new Unimplemented()); return true; } } class GCheck extends MemoryOperator { { operandTypes = new Class[] {PSObject.class}; } public boolean execute(OperandStack os) { // FREEHEP-152 error(os, new Unimplemented()); return true; } } class StartJob extends MemoryOperator { { operandTypes = new Class[] {PSBoolean.class, PSString.class}; } public boolean execute(OperandStack os) { // ignored PSString password = os.popString(); PSBoolean state = os.popBoolean(); os.push(false); return true; } } class DefineUserObject extends MemoryOperator { { operandTypes = new Class[] {PSInteger.class, PSObject.class}; } public boolean execute(OperandStack os) { // FREEHEP-153 error(os, new Unimplemented()); return true; } } class ExecUserObject extends MemoryOperator { { operandTypes = new Class[] {PSInteger.class}; } public boolean execute(OperandStack os) { // FREEHEP-153 error(os, new Unimplemented()); return true; } } class UndefineUserObject extends MemoryOperator { { operandTypes = new Class[] {PSInteger.class}; } public boolean execute(OperandStack os) { // FREEHEP-153 error(os, new Unimplemented()); return true; } } class UserObjects extends MemoryOperator { // FREEHEP-153: not an operator public String getName() { return "UserObjects"; } public boolean execute(OperandStack os) { // FREEHEP-153 error(os, new Unimplemented()); return true; } }