package prefuse.data.query; import java.util.HashMap; import java.util.Map; import javax.swing.DefaultBoundedRangeModel; import prefuse.util.ui.ValuedRangeModel; /** * Supports an ordered range of arbitrary objects. Designed to support * range-based dynamic queries over ordered, but not necessarily numerical, * data. * @author jeffrey heer */ public class ObjectRangeModel extends DefaultBoundedRangeModel implements ValuedRangeModel { private Object[] m_objects; private Map m_ordinal; /** * Create a new ObjectRangeModel with the given objects. The objects are * assumed to sorted in ascending order. * @param objects the members of this ObjectRangeModel, sorted in ascending * order. */ public ObjectRangeModel(Object[] objects) { setValueRange(objects); } /** * Sets the range model to the given objects. The objects are * assumed to sorted in ascending order. * @param objects the members of this ObjectRangeModel, sorted in ascending * order. */ public void setValueRange(Object[] objects) { if ( m_objects != null && objects.length == m_objects.length ) { boolean equal = true; for ( int i=0; iindex map if ( m_ordinal == null ) { m_ordinal = new HashMap(); } else { m_ordinal.clear(); } for ( int i=0; i