/* * HoldRefCmd.java -- * * This file tests incrementing and decrementing a * the ref count of a native object. * * Copyright (c) 2002 by Mo DeJong * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * RCS: @(#) $Id: HoldRefCmd.java,v 1.1 2002/12/21 04:05:08 mdejong Exp $ */ package tests; import tcl.lang.*; import java.util.Vector; import java.util.Enumeration; public class HoldRefCmd implements CommandWithDispose { Vector holding = new Vector(); public void cmdProc( Interp interp, TclObject[] objv) throws TclException { if (objv.length != 2) { throw new TclNumArgsException(interp, 1, objv, "obj"); } TclObject hold = objv[1]; hold.preserve(); holding.addElement(hold); } // Called when the command is deleted public void disposeCmd() { TclObject hold; Enumeration search; for (search = holding.elements(); search.hasMoreElements() ; ) { hold = (TclObject) search.nextElement(); hold.release(); } } }