org.astrogrid.samp.gui
Class SelectiveClientListModel

java.lang.Object
  extended byjavax.swing.AbstractListModel
      extended byorg.astrogrid.samp.gui.SelectiveClientListModel
All Implemented Interfaces:
ListModel, Serializable
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)
    1. Since:
      1 Sep 2008
      Author:
      Mark Taylor
      See Also:
      Serialized Form

      Field Summary
       
      Fields inherited from class javax.swing.AbstractListModel
      listenerList
       
      Constructor Summary
      SelectiveClientListModel(ListModel clientListModel)
                Constructor.
       
      Method Summary
       void dispose()
                Releases any resources associated with this transmitter.
       Object getElementAt(int index)
                 
       int getSize()
                 
      protected  void init()
                Must be called by subclass prior to use.
      protected abstract  boolean isIncluded(Client client)
                Implement this method to determine which clients are included in this list.
      protected  void refresh()
                Recalculates the inclusions.
       
      Methods inherited from class javax.swing.AbstractListModel
      addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener
       
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
       

      Constructor Detail

      SelectiveClientListModel

      public SelectiveClientListModel(ListModel clientListModel)
      Constructor.

      Parameters:
      clientListModel - base ListModel containing Client objects
      Method Detail

      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.



      Copyright © 2008 AstroGrid. All Rights Reserved.