org.jdesktop.swingx.sort
Class StringValueRegistry

java.lang.Object
  extended by org.jdesktop.swingx.sort.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?.


Constructor Summary
StringValueRegistry()
           
 
Method Summary
 void clearColumnStringValues()
          Removes all per-column mappings of StringValues.
 StringValue getStringValue(Class<?> clazz)
          Returns the StringValue registered for the given class.
 StringValue getStringValue(int row, int column)
          Returns a StringValue to use for conversion of the cell content at row and column.
 void setColumnClass(Class<?> clazz, int column)
          Sets the column class.
 void setColumnClasses(Map<Integer,Class<?>> classPerColumn)
           
 void setStringValue(StringValue sv, Class<?> clazz)
          Sets the StringValue to use for the given class.
 void setStringValue(StringValue sv, int column)
          Sets a StringValue to use for the given column.
 
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,
                           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 -