package hep.aida.ref.tree;
import hep.aida.IManagedObject;
import hep.aida.ref.AidaUtils;

import java.util.Iterator;
import java.util.Map;

/**
 * A Folder is a managed object representing a directory in a tree.
 * It is used only within the Tree implementation, and is never exposed
 * to the user.
 * @author  The AIDA team @ SLAC.
 * @version $Id: Folder.java 8584 2006-08-10 23:06:37Z duns $
 */
public class Folder extends hep.aida.ref.ManagedObject
{
   Folder(String name)
   {
      super(name);
      hasBeenFilled = false;
   }
   void add(IManagedObject object)
   {
      map.put(AidaUtils.modifyName(object.name()),object);
   }
   void remove(IManagedObject child)
   {
      map.remove(AidaUtils.modifyName(child.name()));
   }
   IManagedObject getChild(String name)
   {
      return (IManagedObject) map.get(name);
   }
   int getChildCount()
   {
      return map.size();
   }
   int getIndexOfChild(IManagedObject child)
   {
      Iterator iter = map.values().iterator();
      for (int i=0; iter.hasNext(); i++)
      {
         if (iter.next().equals(child)) return i;
      }
      return -1;
   }
   IManagedObject getChild(int index)
   {
      Iterator iter = map.values().iterator();
      for (int i=0; i 

Ads help maintain this website.