Package com.google.gwt.i18n.shared
Class BidiUtils
- java.lang.Object
-
- com.google.gwt.i18n.shared.BidiUtils
-
public class BidiUtils extends java.lang.Object
Utility functions for performing common Bidi tests on strings.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
endsWithLtr(java.lang.String str)
LikeendsWithLtr(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.boolean
endsWithLtr(java.lang.String str, boolean isHtml)
Check whether the last strongly-directional character in the string is LTR.boolean
endsWithRtl(java.lang.String str)
LikeendsWithRtl(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.boolean
endsWithRtl(java.lang.String str, boolean isHtml)
Check whether the last strongly-directional character in the string is RTL.HasDirection.Direction
estimateDirection(java.lang.String str)
LikeestimateDirection(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.HasDirection.Direction
estimateDirection(java.lang.String str, boolean isHtml)
Estimates the directionality of a string based on relative word counts.static BidiUtils
get()
Get an instance of BidiUtils.boolean
hasAnyLtr(java.lang.String str)
LikehasAnyLtr(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.boolean
hasAnyLtr(java.lang.String str, boolean isHtml)
Checks if the given string has any LTR characters in it.boolean
hasAnyRtl(java.lang.String str)
LikehasAnyRtl(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.boolean
hasAnyRtl(java.lang.String str, boolean isHtml)
Checks if the given string has any RTL characters in it.boolean
startsWithLtr(java.lang.String str)
LikestartsWithLtr(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.boolean
startsWithLtr(java.lang.String str, boolean isHtml)
Check whether the first strongly-directional character in the string is LTR.boolean
startsWithRtl(java.lang.String str)
LikestartsWithRtl(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.boolean
startsWithRtl(java.lang.String str, boolean isHtml)
Check whether the first strongly-directional character in the string is RTL.(package private) java.lang.String
stripHtmlIfNeeded(java.lang.String str, boolean isStripNeeded)
Returns the input text with spaces instead of HTML tags or HTML escapes, if isStripNeeded is true.
-
-
-
Method Detail
-
get
public static BidiUtils get()
Get an instance of BidiUtils.- Returns:
- An instance of BidiUtils
-
endsWithLtr
public boolean endsWithLtr(java.lang.String str)
LikeendsWithLtr(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.
-
endsWithLtr
public boolean endsWithLtr(java.lang.String str, boolean isHtml)
Check whether the last strongly-directional character in the string is LTR.- Parameters:
str
- the string to checkisHtml
- whether str is HTML / HTML-escaped- Returns:
- whether LTR exit directionality was detected
-
endsWithRtl
public boolean endsWithRtl(java.lang.String str)
LikeendsWithRtl(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.
-
endsWithRtl
public boolean endsWithRtl(java.lang.String str, boolean isHtml)
Check whether the last strongly-directional character in the string is RTL.- Parameters:
str
- the string to checkisHtml
- whether str is HTML / HTML-escaped- Returns:
- whether RTL exit directionality was detected
-
estimateDirection
public HasDirection.Direction estimateDirection(java.lang.String str)
LikeestimateDirection(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.
-
estimateDirection
public HasDirection.Direction estimateDirection(java.lang.String str, boolean isHtml)
Estimates the directionality of a string based on relative word counts. If the number of RTL words is above a certain percentage of the total number of strongly directional words, returns RTL. Otherwise, if any words are strongly or weakly LTR, returns LTR. Otherwise, returns DEFAULT, which is used to mean "neutral". Numbers are counted as weakly LTR.- Parameters:
str
- the string to checkisHtml
- whetherstr
is HTML / HTML-escaped. Use this to ignore HTML tags and escapes that would otherwise be mistaken for LTR text.- Returns:
- the string's directionality
-
hasAnyLtr
public boolean hasAnyLtr(java.lang.String str)
LikehasAnyLtr(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.- Parameters:
str
- the string to be tested- Returns:
- whether the string contains any LTR characters
-
hasAnyLtr
public boolean hasAnyLtr(java.lang.String str, boolean isHtml)
Checks if the given string has any LTR characters in it.- Parameters:
str
- the string to be testedisHtml
- whether str is HTML / HTML-escaped- Returns:
- whether the string contains any LTR characters
-
hasAnyRtl
public boolean hasAnyRtl(java.lang.String str)
LikehasAnyRtl(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.- Parameters:
str
- the string to be tested- Returns:
- whether the string contains any RTL characters
-
hasAnyRtl
public boolean hasAnyRtl(java.lang.String str, boolean isHtml)
Checks if the given string has any RTL characters in it.- Parameters:
isHtml
- whether str is HTML / HTML-escapedstr
- the string to be tested- Returns:
- whether the string contains any RTL characters
-
startsWithLtr
public boolean startsWithLtr(java.lang.String str)
LikestartsWithLtr(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.
-
startsWithLtr
public boolean startsWithLtr(java.lang.String str, boolean isHtml)
Check whether the first strongly-directional character in the string is LTR.- Parameters:
str
- the string to checkisHtml
- whether str is HTML / HTML-escaped- Returns:
- whether LTR exit directionality was detected
-
startsWithRtl
public boolean startsWithRtl(java.lang.String str)
LikestartsWithRtl(String, boolean)
, but assumesstr
is not HTML / HTML-escaped.
-
startsWithRtl
public boolean startsWithRtl(java.lang.String str, boolean isHtml)
Check whether the first strongly-directional character in the string is RTL.- Parameters:
str
- the string to checkisHtml
- whetherstr
is HTML / HTML-escaped- Returns:
- whether RTL exit directionality was detected
-
stripHtmlIfNeeded
java.lang.String stripHtmlIfNeeded(java.lang.String str, boolean isStripNeeded)
Returns the input text with spaces instead of HTML tags or HTML escapes, if isStripNeeded is true. Else returns the input as is. Useful for text directionality estimation. Note: the function should not be used in other contexts; it is not 100% correct, but rather a good-enough implementation for directionality estimation purposes.
-
-