Class SelectiveClientListModel

java.lang.Object
javax.swing.AbstractListModel
org.astrogrid.samp.gui.SelectiveClientListModel
All Implemented Interfaces:
Serializable, ListModel
Direct Known Subclasses:
SubscribedClientListModel

public abstract class SelectiveClientListModel extends AbstractListModel
ListModel implementation which sits on top of an existing ListModel containing Clients, but only includes a subset of its elements.

Concrete subclasses must

  1. implement the isIncluded(org.astrogrid.samp.Client) method to determine which clients from the base list appear in this one
  2. call init() before the class is used (for instance in their constructor)
Since:
1 Sep 2008
Author:
Mark Taylor
See Also:
  • Constructor Details

    • SelectiveClientListModel

      public SelectiveClientListModel(ListModel clientListModel)
      Constructor.
      Parameters:
      clientListModel - base ListModel containing Client objects
  • Method Details

    • isIncluded

      protected abstract boolean isIncluded(Client client)
      Implement this method to determine which clients are included in this list.
      Parameters:
      client - client for consideration
      Returns:
      true iff client is to be included in this list
    • init

      protected void init()
      Must be called by subclass prior to use.
    • refresh

      protected void refresh()
      Recalculates the inclusions. This should be called if the return value from isIncluded(org.astrogrid.samp.Client) might have changed for some of the elements.
    • getSize

      public int getSize()
    • getElementAt

      public Object getElementAt(int index)
    • dispose

      public void dispose()
      Releases any resources associated with this transmitter.