Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

oracle.javatools.editor.insight
Class CamelCaseInsightInputFilter

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

public final class CamelCaseInsightInputFilter
extends InsightInputFilter

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

This is a singleton class accessible through INSTANCE

See Also:
CamelCaseFilter

Field Summary
static CamelCaseInsightInputFilter 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 prefix)
          Utility routine to find the common prefix of ListDataItems the data list that begin with the specified name.
 java.util.Comparator<ListDataItem> getComparator(java.lang.String prefix)
          Returns the comparator suitable to sort a list according the that prefix.
 ListDataItem[] getMatchingData(ListDataItem[] dataList, java.lang.String prefix)
          Utility routine which fetches the subset of data items in this list model that match with the given CamelCase pattern specified.
 void sort(ListDataItem[] listDataItems, java.lang.String prefix)
          Sort the list based on the input: If the user started with a lowercase, put the lowercase first.
protected  void sortData(ListDataItem[] dataList)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

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

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 match with the given CamelCase pattern specified. For example, suppose the data list contains the following:

Then there are 2 items which match the prefix "DM", and this routine will return an array of those 2 items. Note that uppercase items match lowercase prefixes. For example "dM" would return "DefaultMutableTreeNode" and "DesktopManager" and "jb" would return "JButton". However the reverse is not true and "EQ" would not return "equalsIgnoreCase".
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 non-null array of items that each start with the specified prefix

sort

public void sort(ListDataItem[] listDataItems,
                 java.lang.String prefix)
Sort the list based on the input: If the user started with a lowercase, put the lowercase first.

Parameters:
listDataItems -
prefix -

getComparator

public java.util.Comparator<ListDataItem> getComparator(java.lang.String prefix)
Returns the comparator suitable to sort a list according the that prefix. That is the list would be sorted with lowercase first if the prefix starts with a lowercase letter.

Parameters:
prefix -

findCommonPrefix

public java.lang.String findCommonPrefix(ListDataItem[] dataList,
                                         java.lang.String prefix)
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 but the prefix's casing is preserved. 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

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

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