|
Extension SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoracle.javatools.editor.insight.ListDataItemListModel
The ListDataItemListModel
is a basic implementation of
an immutable ListModel which just takes an array of ListDataItem
objects (or its subclasses) and can be used as the ListModel for a
JList. This class makes a copy of the array (but not the objects)
passed to it in case the array is modified.
Field Summary | |
static ListDataItem[] |
EMPTY_LIST
Singleton empty list. |
Constructor Summary | |
ListDataItemListModel(ListDataItem[] data)
Constructs a new ListDataItemListModel using the data
elements specified. |
Method Summary | |
void |
addListDataListener(javax.swing.event.ListDataListener listener)
Add a listener to the list that's notified each time a change to the data model occurs. |
ListDataItem |
findClosestDataItem(java.lang.String name)
Utility routine to find the ListDataItem with display
name, as returned by getName() that is closest to the
provided name. |
java.lang.String |
findCommonPrefix(java.lang.String name)
Utility routine to find the common prefix of ListDataItems
the data list that begin with the specified name. |
java.lang.Object |
getElementAt(int index)
Returns the value at the specified index. |
ListDataItem[] |
getMatchingData(java.lang.String prefix)
Utility routine which fetches the subset of data items in this list model that starts with the given prefix specified. |
java.lang.Object |
getPrototypeCellValue()
Fetch a cell value that can be used as a prototype, or example, or data in the list model so that the width of the list can be sized properly. |
int |
getSize()
Returns the length of the list. |
void |
removeListDataListener(javax.swing.event.ListDataListener listener)
Remove a listener from the list that's notified each time a change to the data model occurs. |
protected void |
sortData(ListDataItem[] dataList)
Utility routine to perform an in-place sort of ListDataItems in the provided array. |
static boolean |
startsWithIgnoreCase(java.lang.String name1,
java.lang.String name2)
Utility routine to check whether the first name starts with the second name, using case-insensitive comparison rules ("AA" == 'aa'). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final ListDataItem[] EMPTY_LIST
Constructor Detail |
public ListDataItemListModel(ListDataItem[] data)
ListDataItemListModel
using the data
elements specified. A copy of the array will be made in
case the original array is changed. This will by default,
sort the data passed in through the list.
data
- the array of ListDataItem's to make up the modelMethod Detail |
protected void sortData(ListDataItem[] dataList)
ListDataItems
in the provided array. This
sort is performed on the input to the list model. To prevent
the sort from occurring, override this method to make it
a NOP routine.
dataList
- the array to sort in-placepublic ListDataItem findClosestDataItem(java.lang.String name)
ListDataItem
with display
name, as returned by getName()
that is closest to the
provided name. For example, suppose the user had the following
items in the list:
If the passed in name is "equalsFoo()", the data item returned will be "equalsIgnoreCase()". If the passed in name is "regionMatches()", the data item returned will be "substring()".
This utility routine can be used by clients to help locate the closest data item that should be selected in an insight list so that the list tracks what the user is typing.
name
- the display name to find the closest data item for
public java.lang.String findCommonPrefix(java.lang.String name)
ListDataItems
the data list that begin with the specified name. As with
findClosestDataItem()
, the name of the
ListDataItem
used is what is returned by
getName()
Note that a case-insensitive comparison is used for determining
the common prefix. Also, of the data items that start with the
specified name, the common prefix is taken from the first data
item. So for example, if the specified name is "eq", and the
following data items are in the list:
- doesNotEqual()
- EQUALS_SOMETHING
- equals()
- equalsIgnoreCase()
- maybeEquals()
Then the common prefix is "equals", and since the first data item
is "EQUALS_SOMETHING", the common prefix returned will be "EQUALS".
If there are no items that start with the specified name, an empty
(zero-length) String will be returned.
public ListDataItem[] getMatchingData(java.lang.String prefix)
For example, suppose the data list contains the following:
Then there are 3 items which match the prefix "eq", and this routine will return an array of those 3 items. Note that if the prefix is an empty string, "", then all items will be returned. If there are no items that start with the specified prefix, an empty array will be returned.
prefix
- the prefix to search for matching items
public java.lang.Object getPrototypeCellValue()
public static boolean startsWithIgnoreCase(java.lang.String name1, java.lang.String name2)
this.startsWith(that)
, name1 is this
,
and name2 is that
.
name1
- the name to see if it starts with name2name2
- the name to see if name1 starts with
public int getSize()
getSize
in interface javax.swing.ListModel
public java.lang.Object getElementAt(int index)
getElementAt
in interface javax.swing.ListModel
index
- the index of the value to get
public void addListDataListener(javax.swing.event.ListDataListener listener)
addListDataListener
in interface javax.swing.ListModel
listener
- the ListDataListenerpublic void removeListDataListener(javax.swing.event.ListDataListener listener)
removeListDataListener
in interface javax.swing.ListModel
listener
- the ListDataListener
|
Extension SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright ©1997, 2003, Oracle. All rights reserved.