/* JFox, the OpenSource J2EE Application Server
 *
 * Copyright (C) 2002 huihoo.com
 * Distributable under GNU LGPL license
 * See the GNU Lesser General Public License for more details.
 */

package org.jfox.mx;

import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;

/**
 * 
 * @author <a href="mailto:young_yy@hotmail.com">Young Yang</a>
 */

public class MxRepository {

  private Map repository = new HashMap();

  public MxMetaData get(ObjectName name) {
    return (MxMetaData)repository.get(name);
  }

  public synchronized void put(ObjectName name, MxMetaData metadata) {
    repository.put(name,metadata);
  }

  public synchronized void remove(ObjectName name) {
    repository.remove(name);
  }

  public int size() {
    return repository.size();
  }

  public boolean contains(ObjectName name) {
    return repository.containsKey(name);
  }

  public synchronized Iterator iterator() {
    return repository.values().iterator();
  }

  public synchronized List keys() {
    return new ArrayList(repository.keySet());
  }

}