|
Extension SDK 10.1.2 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
oracle.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 forpublic 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()</code.
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()
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 itemspublic 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 withpublic 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 getpublic 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, 2004, Oracle. All rights reserved.