Class SelectiveClientListModel

  • All Implemented Interfaces:
    java.io.Serializable, javax.swing.ListModel
    Direct Known Subclasses:
    SubscribedClientListModel

    public abstract class SelectiveClientListModel
    extends javax.swing.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:
    Serialized Form
    • Field Summary

      • Fields inherited from class javax.swing.AbstractListModel

        listenerList
    • Constructor Summary

      Constructors 
      Constructor Description
      SelectiveClientListModel​(javax.swing.ListModel clientListModel)
      Constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()
      Releases any resources associated with this transmitter.
      java.lang.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​(javax.swing.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 java.lang.Object getElementAt​(int index)
      • dispose

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