Class StringValueRegistry

  • All Implemented Interfaces:
    StringValueProvider

    public final class StringValueRegistry
    extends Object
    implements StringValueProvider
    A writable implemenation of StringValueProvider. Typically, this is created and maintained by a collection view and then passed over to interested parties. It is modeled/implemented after the default renderer maintenance in a JTable.

    PENDING JW: for safety - better not implement but return a provider. We probably don't want readers to frickle around here?.

    Author:
    Jeanette Winzenburg
    • Constructor Detail

      • StringValueRegistry

        public StringValueRegistry()
    • Method Detail

      • getStringValue

        public StringValue getStringValue​(int row,
                                          int column)
        Returns a StringValue to use for conversion of the cell content at row and column. The converter is guaranteed to be not null, so implemenations are responsible for a reasonable fall-back value always, f.i. if they have no converters registered of if any or both of the row/column coordinate is "invalid" (f.i. -1)

        Specified by:
        getStringValue in interface StringValueProvider
        Parameters:
        row - the row of the cell in model coordinates
        column - the column of the cell in model coordinates
        Returns:
        a StringValue to use for conversion, guaranteed to not null.
      • setStringValue

        public void setStringValue​(StringValue sv,
                                   int column)
        Sets a StringValue to use for the given column. If the converter is null, the mapping is removed.
        Parameters:
        sv - the StringValue to use for the given column.
        column - the column index in model coordinates.
      • clearColumnStringValues

        public void clearColumnStringValues()
        Removes all per-column mappings of StringValues.
      • setStringValue

        public void setStringValue​(StringValue sv,
                                   Class<?> clazz)
        Sets the StringValue to use for the given class. If the converter is null, the mapping is removed.
        Parameters:
        sv - the StringValue to use for the given column.
        clazz - the class
      • getStringValue

        public StringValue getStringValue​(Class<?> clazz)
        Returns the StringValue registered for the given class.

        This is temporarily exposed for testing only - do not use, it will be removed very soon!

        Parameters:
        clazz - the class to find the registered StringValue for
        Returns:
        the StringValue registered for the class, or null if not directly registered.
      • setColumnClass

        public void setColumnClass​(Class<?> clazz,
                                   int column)
        Sets the column class.
        Parameters:
        clazz -
        column - index in model coordinates
      • setColumnClasses

        public void setColumnClasses​(Map<Integer,​Class<?>> classPerColumn)
        Parameters:
        classPerColumn -