Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.3.0)

E17493-04


oracle.javatools.editor.insight
Class SortedInsightInputFilter

java.lang.Object
  extended by oracle.javatools.editor.insight.InsightInputFilter
      extended by oracle.javatools.editor.insight.SortedInsightInputFilter


public final class SortedInsightInputFilter
extends InsightInputFilter

This class defines the filtering of an insight list based on pure prefix match.

This is a singleton class accessible through INSTANCE


Field Summary
static ListDataItem[] EMPTY_LIST
          Singleton empty list.
static SortedInsightInputFilter INSTANCE
          The CamelCaseInsightInputFilter class is a singleton.

 

Method Summary
 ListDataItem findClosestDataItem(ListDataItem[] dataList, 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(ListDataItem[] dataList, java.lang.String name)
          Utility routine to find the common prefix of ListDataItems the data list that begin with the specified name.
 ListDataItem[] getMatchingData(ListDataItem[] dataList, java.lang.String prefix)
          Utility routine which fetches the subset of data items in this list model that starts with the given prefix specified.
protected  void sortData(ListDataItem[] dataList)
           
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

INSTANCE

public static final SortedInsightInputFilter INSTANCE
The CamelCaseInsightInputFilter class is a singleton.

EMPTY_LIST

public static final ListDataItem[] EMPTY_LIST
Singleton empty list.

Method Detail

sortData

protected void sortData(ListDataItem[] dataList)
Specified by:
sortData in class InsightInputFilter

findClosestDataItem

public ListDataItem findClosestDataItem(ListDataItem[] dataList,
                                        java.lang.String name)
Description copied from class: InsightInputFilter
Utility routine to find the 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.

Specified by:
findClosestDataItem in class InsightInputFilter
name - the display name to find the closest data item for
Returns:
the data item with display name closest to the one passed in, or if not found, one that follows where the display name would sort into

getMatchingData

public ListDataItem[] getMatchingData(ListDataItem[] dataList,
                                      java.lang.String prefix)
Utility routine which fetches the subset of data items in this list model that starts with the given prefix specified. Note that a case-insensitive comparison is used for determining if the prefix matches.

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.

Specified by:
getMatchingData in class InsightInputFilter
Parameters:
prefix - the prefix to search for matching items
Returns:
an array of items that each start with the specified prefix

findCommonPrefix

public java.lang.String findCommonPrefix(ListDataItem[] dataList,
                                         java.lang.String name)
Utility routine to find the common prefix of 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:

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.

Specified by:
findCommonPrefix in class InsightInputFilter

startsWithIgnoreCase

public 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'). For this.startsWith(that), name1 is this, and name2 is that.
Parameters:
name1 - the name to see if it starts with name2
name2 - the name to see if name1 starts with
Returns:
true if name1 starts with name2

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.3.0)

E17493-04


Copyright © 1997, 2012, Oracle. All rights reserved.