Class BlackboardManager

java.lang.Object
es.ull.mazesolver.util.BlackboardManager

public class BlackboardManager extends Object
Clase que gestiona el sistema de pizarras por canales utilizado por los entornos para permitir la compartición de las pizarras sólo a subconjuntos de agentes.
  • Constructor Details

    • BlackboardManager

      public BlackboardManager()
      Inicializa el gestor de pizarras.
  • Method Details

    • getBlackboard

      public Object getBlackboard(String channel)
      Obtiene la pizarra que hay en el canal indicado.
      Parameters:
      channel - Canal del que se quiere obtener la pizarra.
      Returns:
      El objeto pizarra del canal.
    • addBlackboard

      public String addBlackboard(Object blackboard)
      Añade una nueva pizarra al gestor.
      Parameters:
      blackboard - Objeto que representa la nueva pizarra. Las modificaciones realizadas a este objeto son visibles para todos los agentes que posean una referencia a la misma.
      Returns:
      El nombre del nuevo canal donde se ha colocado la pizarra.
    • addBlackboard

      public String addBlackboard(Object blackboard, String desired_channel)
      Intenta añadir la pizarra al canal deseado. Esto será posible sólo si el canal no está ya ocupado.
      Parameters:
      blackboard - Objeto que representa la pizarra.
      desired_channel - Canal donde se quiere colocar la pizarra.
      Returns:
      Canal donde finalmente se ha colocado la pizarra.
    • changeBlackboard

      public boolean changeBlackboard(String channel, Object blackboard)
      Cambia el objeto pizarra asociado a un canal ya creado.
      Parameters:
      channel - Canal en el que modificar la pizarra.
      blackboard - Nueva pizarra que colocar en el canal.
      Returns:
      true si se ha realizado el cambio y false si el canal indicado no existía.
    • removeBlackboard

      public boolean removeBlackboard(String channel)
      Elimina un canal del gestor de pizarras.
      Parameters:
      channel - Canal que eliminar.
      Returns:
      true si se ha realizado la eliminación y false si el canal indicado no existía.