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

org.openqa.selenium.devtools.v88.accessibility.model.AXNode Maven / Gradle / Ivy

package org.openqa.selenium.devtools.v88.accessibility.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

/**
 * A node in the accessibility tree.
 */
public class AXNode {

    private final org.openqa.selenium.devtools.v88.accessibility.model.AXNodeId nodeId;

    private final java.lang.Boolean ignored;

    private final java.util.Optional> ignoredReasons;

    private final java.util.Optional role;

    private final java.util.Optional name;

    private final java.util.Optional description;

    private final java.util.Optional value;

    private final java.util.Optional> properties;

    private final java.util.Optional> childIds;

    private final java.util.Optional backendDOMNodeId;

    public AXNode(org.openqa.selenium.devtools.v88.accessibility.model.AXNodeId nodeId, java.lang.Boolean ignored, java.util.Optional> ignoredReasons, java.util.Optional role, java.util.Optional name, java.util.Optional description, java.util.Optional value, java.util.Optional> properties, java.util.Optional> childIds, java.util.Optional backendDOMNodeId) {
        this.nodeId = java.util.Objects.requireNonNull(nodeId, "nodeId is required");
        this.ignored = java.util.Objects.requireNonNull(ignored, "ignored is required");
        this.ignoredReasons = ignoredReasons;
        this.role = role;
        this.name = name;
        this.description = description;
        this.value = value;
        this.properties = properties;
        this.childIds = childIds;
        this.backendDOMNodeId = backendDOMNodeId;
    }

    /**
     * Unique identifier for this node.
     */
    public org.openqa.selenium.devtools.v88.accessibility.model.AXNodeId getNodeId() {
        return nodeId;
    }

    /**
     * Whether this node is ignored for accessibility
     */
    public java.lang.Boolean getIgnored() {
        return ignored;
    }

    /**
     * Collection of reasons why this node is hidden.
     */
    public java.util.Optional> getIgnoredReasons() {
        return ignoredReasons;
    }

    /**
     * This `Node`'s role, whether explicit or implicit.
     */
    public java.util.Optional getRole() {
        return role;
    }

    /**
     * The accessible name for this `Node`.
     */
    public java.util.Optional getName() {
        return name;
    }

    /**
     * The accessible description for this `Node`.
     */
    public java.util.Optional getDescription() {
        return description;
    }

    /**
     * The value for this `Node`.
     */
    public java.util.Optional getValue() {
        return value;
    }

    /**
     * All other properties
     */
    public java.util.Optional> getProperties() {
        return properties;
    }

    /**
     * IDs for each of this node's child nodes.
     */
    public java.util.Optional> getChildIds() {
        return childIds;
    }

    /**
     * The backend ID for the associated DOM node, if any.
     */
    public java.util.Optional getBackendDOMNodeId() {
        return backendDOMNodeId;
    }

    private static AXNode fromJson(JsonInput input) {
        org.openqa.selenium.devtools.v88.accessibility.model.AXNodeId nodeId = null;
        java.lang.Boolean ignored = false;
        java.util.Optional> ignoredReasons = java.util.Optional.empty();
        java.util.Optional role = java.util.Optional.empty();
        java.util.Optional name = java.util.Optional.empty();
        java.util.Optional description = java.util.Optional.empty();
        java.util.Optional value = java.util.Optional.empty();
        java.util.Optional> properties = java.util.Optional.empty();
        java.util.Optional> childIds = java.util.Optional.empty();
        java.util.Optional backendDOMNodeId = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "nodeId":
                    nodeId = input.read(org.openqa.selenium.devtools.v88.accessibility.model.AXNodeId.class);
                    break;
                case "ignored":
                    ignored = input.nextBoolean();
                    break;
                case "ignoredReasons":
                    ignoredReasons = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType()));
                    break;
                case "role":
                    role = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.accessibility.model.AXValue.class));
                    break;
                case "name":
                    name = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.accessibility.model.AXValue.class));
                    break;
                case "description":
                    description = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.accessibility.model.AXValue.class));
                    break;
                case "value":
                    value = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.accessibility.model.AXValue.class));
                    break;
                case "properties":
                    properties = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType()));
                    break;
                case "childIds":
                    childIds = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType()));
                    break;
                case "backendDOMNodeId":
                    backendDOMNodeId = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.dom.model.BackendNodeId.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new AXNode(nodeId, ignored, ignoredReasons, role, name, description, value, properties, childIds, backendDOMNodeId);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy