com.partnersoft.maps.model
Class FindItemIndex

java.lang.Object
  extended by com.partnersoft.maps.model.FindItemIndex

public class FindItemIndex
extends java.lang.Object

A space-optimized mapping of string name to a data ID, used to implement find items. Names may be non-unique, but must be sorted, and comparisons and sorting are all done case-insensitively. It is designed to be read-only and not modifiable, so it can't change size etc.

Author:
Paul Reavis Copyright 2005 Partner Software, Inc.

Constructor Summary
FindItemIndex(RoverSet roverSet)
           
FindItemIndex(RoverSet roverSet, java.util.List nameList, java.util.List idList)
           
FindItemIndex(RoverSet roverSet, java.lang.String[] names, int[] ids)
           
 
Method Summary
 int closestIndexTo(java.lang.String name)
           
 int find(java.lang.String name)
           
 int[] findAll(java.lang.String name)
           
 int getIDAt(int index)
           
 java.lang.String getNameAt(int index)
           
 RoverSet getRoverSet()
           
 int getSize()
           
 int indexOf(java.lang.String name)
           
 int[] indexRangeFor(java.lang.String name)
          If the find item has duplicates, you might want to know what the range is.
 void setContents(FindItemIndex nother)
           
 void setContents(java.util.List nameList, java.util.List idList)
           
 void setContents(java.lang.String[] names, int[] ids)
           
 void sort()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FindItemIndex

public FindItemIndex(RoverSet roverSet)

FindItemIndex

public FindItemIndex(RoverSet roverSet,
                     java.lang.String[] names,
                     int[] ids)

FindItemIndex

public FindItemIndex(RoverSet roverSet,
                     java.util.List nameList,
                     java.util.List idList)
Method Detail

find

public int find(java.lang.String name)

findAll

public int[] findAll(java.lang.String name)

setContents

public void setContents(java.lang.String[] names,
                        int[] ids)

setContents

public void setContents(FindItemIndex nother)

setContents

public void setContents(java.util.List nameList,
                        java.util.List idList)

getSize

public int getSize()

getNameAt

public java.lang.String getNameAt(int index)

getIDAt

public int getIDAt(int index)

indexOf

public int indexOf(java.lang.String name)

closestIndexTo

public int closestIndexTo(java.lang.String name)

indexRangeFor

public int[] indexRangeFor(java.lang.String name)
If the find item has duplicates, you might want to know what the range is. This returns the first and last entries with the same name. They will match if there's only one, and they'll both be -1 if there's no match.


sort

public void sort()

getRoverSet

public RoverSet getRoverSet()