Class ElementConditions
-
- All Implemented Interfaces:
public final class ElementConditionsA collection of commons predicates to be used as ComponentQuery conditions.
-
-
Method Summary
Modifier and Type Method Description static <T extends Component> Predicate<T>containsText(String text)Checks if text content of the component contains the given text. static <T extends Component> Predicate<T>containsText(String text, boolean ignoreCase)Checks if text content of the component contains the given text. static <T extends Component> Predicate<T>hasAttribute(String attribute)Checks if the given attribute has been set on the component. static <T extends Component> Predicate<T>hasAttribute(String attribute, String value)Checks if the given attribute has been set on the component and has exactly the given value. static <T extends Component> Predicate<T>hasNotAttribute(String attribute)Checks if the given attribute has not been set on the component. static <T extends Component> Predicate<T>hasNotAttribute(String attribute, String value)Checks if the given attribute has been set on the component or has a value different from given one. -
-
Method Detail
-
containsText
static <T extends Component> Predicate<T> containsText(String text)
Checks if text content of the component contains the given text. Input text is compared with value obtained either by getText, getText if element is a text node, or the normalized version of getInnerHtml. In all other cases getTextRecursively is used, but in this case text from nested elements is concatenated without space separators. The comparison is case-sensitive. For Html components the innerHTML tags are stripped and whitespace is normalized and trimmed. For example, given HTML
the text that will be checked will be Hello there now!.- Parameters:
text- the text the component is expected to have as its content.- Returns:
this element query instance for chaining
-
containsText
static <T extends Component> Predicate<T> containsText(String text, boolean ignoreCase)
Checks if text content of the component contains the given text. Input text is compared with value obtained either by getText, getText if element is a text node, or getInnerHtml. In all other cases getTextRecursively is used, but in this case text from nested elements is concatenated without space separators. For Html components the innerHTML tags are stripped and whitespace is normalized and trimmed. For example, given HTML
the text that will be checked will be Hello there now!.- Parameters:
text- the text the component is expected to have as its content.ignoreCase- flag to indicate if comparison must be case-insensitive.- Returns:
this element query instance for chaining
-
hasAttribute
static <T extends Component> Predicate<T> hasAttribute(String attribute)
Checks if the given attribute has been set on the component. Attribute names are considered case-insensitive and all names will be converted to lower case automatically.
- Parameters:
attribute- the name of the attribute, not null- Returns:
true if the attribute has been set, false otherwise
-
hasAttribute
static <T extends Component> Predicate<T> hasAttribute(String attribute, String value)
Checks if the given attribute has been set on the component and has exactly the given value. Attribute names are considered case-insensitive and all names will be converted to lower case automatically.
- Parameters:
attribute- the name of the attribute, not nullvalue- expected value, not null- Returns:
true if the attribute has been set, false otherwise
-
hasNotAttribute
static <T extends Component> Predicate<T> hasNotAttribute(String attribute)
Checks if the given attribute has not been set on the component. Attribute names are considered case-insensitive and all names will be converted to lower case automatically.
- Parameters:
attribute- the name of the attribute, not null- Returns:
true if the attribute has not been set, false otherwise
-
hasNotAttribute
static <T extends Component> Predicate<T> hasNotAttribute(String attribute, String value)
Checks if the given attribute has been set on the component or has a value different from given one. Attribute names are considered case-insensitive and all names will be converted to lower case automatically.
- Parameters:
attribute- the name of the attribute, not nullvalue- value expected not to be set on attribute, not null- Returns:
true if the attribute is not set or has a value different from given one, false otherwise
-
-
-
-