Class RMGrouper

All Implemented Interfaces:
Archivable, RMPropertyChanger, PropertyChangeListener, Cloneable, EventListener

public class RMGrouper extends RMObject implements PropertyChangeListener, Archivable
This class simply manages a list of groupings and has some nice convenience methods.
  • Constructor Details

    • RMGrouper

      public RMGrouper()
      Creates an empty grouper.
  • Method Details

    • getGroupingCount

      public int getGroupingCount()
      Returns the number of groupings in this grouper.
    • getGrouping

      public RMGrouping getGrouping(int anIndex)
      Returns the grouping at the given index.
    • addGrouping

      public void addGrouping(RMGrouping aGrouping)
      Adds a given grouping to grouper's list of groupings.
    • addGrouping

      public void addGrouping(RMGrouping aGrouping, int anIndex)
      Adds a given grouping to grouper's list of groupings.
    • removeGrouping

      public RMGrouping removeGrouping(int anIndex)
      Removes the grouping at the given index.
    • getGrouping

      public RMGrouping getGrouping(String aKey)
      Returns the grouping with the given key.
    • getGroupingLast

      public RMGrouping getGroupingLast()
      Returns the last grouping.
    • getGroupingKey

      public String getGroupingKey(int anIndex)
      Return the key for the grouping at the given index.
    • indexOf

      public int indexOf(String aKey)
      Returns the index for the grouping with the given key.
    • addGroupings

      public void addGroupings(List<RMGrouping> aList)
      Adds a given list of groupings to grouper's list of groupings.
    • addGroupingForKey

      public RMGrouping addGroupingForKey(String aKey)
      Adds a new grouping with the given key.
    • addGroupingForKey

      public RMGrouping addGroupingForKey(String aKey, int anIndex)
      Adds a new grouping with the given key at the given index.
    • removeGrouping

      public boolean removeGrouping(RMGrouping aGrouping)
      Removes the given grouping.
    • moveGrouping

      public void moveGrouping(int fromIndex, int toIndex)
      Moves a grouping from given fromIndex to given toIndex.
    • getSelectedGroupingIndex

      public int getSelectedGroupingIndex()
      Returns the currently selected grouping's index (for editing, mostly).
    • setSelectedGroupingIndex

      public void setSelectedGroupingIndex(int anIndex)
      Sets the currently selected grouping by index (for editing, mostly).
    • getSelectedGrouping

      public RMGrouping getSelectedGrouping()
      Returns the currently selected grouping (while editing only).
    • groupObjects

      public RMGroup groupObjects(List aList)
      Separates given objects into RMGroups defined by groupings.
    • propertyChange

      public void propertyChange(PropertyChangeEvent anEvent)
      Listen for property changes and forward to grouper's property change listeners.
      Specified by:
      propertyChange in interface PropertyChangeListener
    • equals

      public boolean equals(Object anObj)
      Standard equals implementation.
      Overrides:
      equals in class Object
    • clone

      public RMGrouper clone()
      Standard clone implementation.
      Overrides:
      clone in class RMListenerList
    • toXML

      public RXElement toXML(RXArchiver anArchiver)
      XML archival.
      Specified by:
      toXML in interface Archivable
    • fromXML

      public Object fromXML(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
      Specified by:
      fromXML in interface Archivable