Package org.eclipse.cdt.core.parser.util
Class SegmentMatcher
java.lang.Object
org.eclipse.cdt.core.parser.util.SegmentMatcher
A matcher for camel case matching supporting both the camel case as well as
he underscore notation.
- Since:
- 5.3
- Restriction:
- This class is not intended to be subclassed by clients.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionchar[]
The pattern used by this matcher is not suitable for binary searches (e.g.boolean
match
(char[] name) Matches the given name by prefix and segment matching.static boolean
match
(char[] pattern, char[] name) Matches pattern to name by prefix and segment matching.boolean
matchPrefix
(char[] name) Matches the given name by prefix matching.boolean
boolean
matchSegments
(char[] name) Matches the given name by segment matching.
-
Constructor Details
-
SegmentMatcher
public SegmentMatcher(char[] pattern) - Parameters:
pattern
- The camel case or underscore pattern.
-
-
Method Details
-
match
public boolean match(char[] name) Matches the given name by prefix and segment matching.- Returns:
- true if the associated pattern is a prefix-based or segment-based abbreviation of name.
-
matchPrefix
public boolean matchPrefix(char[] name) Matches the given name by prefix matching.- Returns:
- true if the associated pattern is a prefix-based abbreviation of name.
-
matchSegments
public boolean matchSegments(char[] name) Matches the given name by segment matching.- Returns:
- true if the associated pattern is a segment-based abbreviation of name.
-
match
public static boolean match(char[] pattern, char[] name) Matches pattern to name by prefix and segment matching. If you have to match against the same pattern repeatedly, create aSegmentMatcher
instead and re-use it all the time, because this is much faster.- Returns:
- true if pattern is a prefix-based or segment-based abbreviation of name
-
getPrefixForBinarySearch
public char[] getPrefixForBinarySearch()The pattern used by this matcher is not suitable for binary searches (e.g. within the index). However, there can be calculated a string that can be used in the context of binary searches. In the compare method used by your binary search, return 0 for any string that starts with the returned string.- Returns:
- Such a string.
-
matchRequiredAfterBinarySearch
public boolean matchRequiredAfterBinarySearch()- Returns:
- If false, calling
match(char[])
can be skipped if a name survived a binary search using the prefix returned bygetPrefixForBinarySearch()
as key.
-