All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.epam.jdi.light.elements.complex.ISelector Maven / Gradle / Ivy

There is a newer version: 1.6.0
Show newest version
package com.epam.jdi.light.elements.complex;

import com.epam.jdi.light.common.JDIAction;
import com.epam.jdi.light.common.TextTypes;
import com.epam.jdi.light.elements.interfaces.base.HasUIList;
import com.epam.jdi.light.elements.interfaces.base.INamed;
import com.epam.jdi.light.elements.interfaces.base.SetValue;
import com.epam.jdi.light.elements.interfaces.common.IsText;

import java.util.List;

import static com.epam.jdi.light.logger.LogLevels.DEBUG;
import static com.epam.jdi.tools.EnumUtils.getEnumValue;

/**
 * Created by Roman Iovlev on 26.09.2019
 * Email: [email protected]; Skype: roman.iovlev
 */
public interface ISelector extends IsText, HasUIList, INamed, IHasSize, SetValue  {
    @JDIAction("Select '{0}' in '{name}'")
    default void select(String value) { list().select(value); }
    @JDIAction("Select '{0}' in '{name}'")
    default void select(int index) { list().select(index-1); }
    @JDIAction("Select '{0}' in '{name}'")
    default  void select(TEnum value) {
        select(getEnumValue(value));
    }
    @JDIAction("Select '{0}' in '{name}'")
    default void select(String... values) {
        list().select(values);
    }
    @JDIAction("Select '{0}' in '{name}'")
    default  void select(TEnum... values) {
        list().select(values);
    }
    @JDIAction("Select '{0}' in '{name}'")
    default void select(int... values) {
        list().select(values);
    }
    @JDIAction("Get selected value")
    default String selected() { return list().selected(); }
    @JDIAction("Is '{0}' selected")
    default boolean selected(String option) { return list().selected(option); }
    @JDIAction(level = DEBUG)
    default List values() { return list().values(); }
    @JDIAction(level = DEBUG)
    default List values(TextTypes type) {
        return list().values(type);
    }
    @JDIAction(level = DEBUG)
    default List listEnabled() { return list().listEnabled(); }
    @JDIAction(level = DEBUG)
    default List listDisabled() { return list().listDisabled(); }
    @Override
    default String getText() {
        return selected();
    }
    default String getValue() { return selected(); }
    default void setValue(String value) { select(value); }
    @JDIAction("Check that '{name}' is displayed")
    default boolean isDisplayed() { return list().isDisplayed(); }
    default int size() { return list().size(); }
    default boolean isEmpty() { return size() == 0; }
    default boolean isNotEmpty() { return size() > 0; }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy