// $Id: XobjectIterator.java,v 1.3 1999/07/14 09:02:20 msato Exp $
// $RWC_Release: Omni-1.6 $
// $RWC_Copyright:
//  Omni Compiler Software Version 1.5-1.6
//  Copyright (C) 2002 PC Cluster Consortium
//  
//  This software is free software; you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License version
//  2.1 published by the Free Software Foundation.
//  
//  Omni Compiler Software Version 1.0-1.4
//  Copyright (C) 1999, 2000, 2001.
//   Tsukuba Research Center, Real World Computing Partnership, Japan.
//  
//  Please check the Copyright and License information in the files named
//  COPYRIGHT and LICENSE under the top  directory of the Omni Compiler
//  Software release kit.
//  
//  
//  $
package exc.object;

public abstract class XobjectIterator {
    Xobject currentXobject;
    Xobject topXobject;
    XobjArgs currentArgs;

    public XobjectIterator() {   }

    public abstract void init();
    public abstract void init(Xobject x);
    public abstract void next();
    public abstract boolean end();
    public abstract Xobject getParent();

    public Xobject getXobject() { return currentXobject; }
    public void setXobject(Xobject x) { 
      currentXobject = x;
      if(currentArgs == null) topXobject =x;
      else currentArgs.setArg(x);
    }
    public Xobject topXobject() { return topXobject; }
}

