Class RMGrouper

  • All Implemented Interfaces:
    Archivable, RMPropertyChanger, java.beans.PropertyChangeListener, java.lang.Cloneable, java.util.EventListener

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

      • RMGrouper

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

      • 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​(java.lang.String aKey)
        Returns the grouping with the given key.
      • getGroupingLast

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

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

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

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

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

        public RMGrouping addGroupingForKey​(java.lang.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​(java.util.List aList)
        Separates given objects into RMGroups defined by groupings.
      • propertyChange

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

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Overrides:
        equals in class java.lang.Object