/*
 * JBoss, the OpenSource J2EE webOS
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */
package org.jboss.web.loadbalancer.scheduler;

/**
 * MBean interface.
 */
public interface AbstractSchedulerMBean
      extends
         org.jboss.system.ServiceMBean,
         org.jboss.web.loadbalancer.scheduler.SchedulerMBean
{

   //default object name
   public static final javax.management.ObjectName OBJECT_NAME = org.jboss.mx.util.ObjectNameFactory
         .create("jboss.web.loadbalancer: service=Scheduler");

   void setConfig(org.w3c.dom.Element config);

   /**
    * Get the list of all hosts that have been marked down.
    */
   java.util.ArrayList getHostsDown();

   /**
    * Get the list of all hosts that have been marked up.
    */
   java.util.ArrayList getHostsUp();

   /**
    * Add a host to the up list.
    */
   org.jboss.web.loadbalancer.scheduler.Host addHost(java.lang.String hostString) throws java.net.MalformedURLException;

   /**
    * Remove a host from the up list.
    */
   void removeHost(java.net.URL url);

}
