Class StringValueRegistry

  • All Implemented Interfaces:
    StringValueProvider

    public final class StringValueRegistry
    extends java.lang.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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clearColumnStringValues()
      Removes all per-column mappings of StringValues.
      StringValue getStringValue​(int row, int column)
      Returns a StringValue to use for conversion of the cell content at row and column.
      StringValue getStringValue​(java.lang.Class<?> clazz)
      Returns the StringValue registered for the given class.
      void setColumnClass​(java.lang.Class<?> clazz, int column)
      Sets the column class.
      void setColumnClasses​(java.util.Map<java.lang.Integer,​java.lang.Class<?>> classPerColumn)  
      void setStringValue​(StringValue sv, int column)
      Sets a StringValue to use for the given column.
      void setStringValue​(StringValue sv, java.lang.Class<?> clazz)
      Sets the StringValue to use for the given class.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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,
                                   java.lang.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​(java.lang.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​(java.lang.Class<?> clazz,
                                   int column)
        Sets the column class.
        Parameters:
        clazz -
        column - index in model coordinates
      • setColumnClasses

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