001/* 002 * $Id$ 003 * 004 * Copyright 2009 Sun Microsystems, Inc., 4150 Network Circle, 005 * Santa Clara, California 95054, U.S.A. All rights reserved. 006 * 007 * This library is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * This library is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * You should have received a copy of the GNU Lesser General Public 018 * License along with this library; if not, write to the Free Software 019 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 020 * 021 */ 022package org.jdesktop.swingx.sort; 023 024import org.jdesktop.swingx.renderer.StringValue; 025 026/** 027 * Read-only repository for StringValues. This is meant to be shared by collection views 028 * (in rendering a cell) and RowSorters/SortControllers/ComponentAdapters. <p> 029 * 030 * Note: this is work-in-progress, related to re-enable WYSIWYM in sorting/filtering. 031 * It's location and api is expected to change. 032 * 033 * @author Jeanette Winzenburg 034 */ 035public interface StringValueProvider { 036 037 /** 038 * Returns a StringValue to use for conversion of the cell content at row and column. 039 * The converter is guaranteed to be not null, so implemenations are responsible for 040 * a reasonable fall-back value always, f.i. if they have no converters registered of 041 * if any or both of the row/column coordinate is "invalid" (f.i. -1) <p> 042 * 043 * @param row the row of the cell in model coordinates 044 * @param column the column of the cell in model coordinates 045 * 046 * @return a StringValue to use for conversion, guaranteed to not null. 047 */ 048 StringValue getStringValue(int row, int column); 049 050}