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

com.hubspot.chrome.devtools.client.core.accessibility.AXNode Maven / Gradle / Ivy

package com.hubspot.chrome.devtools.client.core.accessibility;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.chrome.devtools.client.core.dom.BackendNodeId;
import java.util.List;

/**
 * A node in the accessibility tree.
 */
public final class AXNode {
  private AXNodeId nodeId;

  private Boolean ignored;

  private List ignoredReasons;

  private AXValue role;

  private AXValue name;

  private AXValue description;

  private AXValue value;

  private List properties;

  private List childIds;

  private BackendNodeId backendDOMNodeId;

  @JsonCreator
  public AXNode(@JsonProperty("nodeId") AXNodeId nodeId, @JsonProperty("ignored") Boolean ignored,
      @JsonProperty("ignoredReasons") List ignoredReasons,
      @JsonProperty("role") AXValue role, @JsonProperty("name") AXValue name,
      @JsonProperty("description") AXValue description, @JsonProperty("value") AXValue value,
      @JsonProperty("properties") List properties,
      @JsonProperty("childIds") List childIds,
      @JsonProperty("backendDOMNodeId") BackendNodeId backendDOMNodeId) {
    this.nodeId = nodeId;
    this.ignored = ignored;
    this.ignoredReasons = ignoredReasons;
    this.role = role;
    this.name = name;
    this.description = description;
    this.value = value;
    this.properties = properties;
    this.childIds = childIds;
    this.backendDOMNodeId = backendDOMNodeId;
  }

  public AXNodeId getNodeId() {
    return nodeId;
  }

  public Boolean getIgnored() {
    return ignored;
  }

  public List getIgnoredReasons() {
    return ignoredReasons;
  }

  public AXValue getRole() {
    return role;
  }

  public AXValue getName() {
    return name;
  }

  public AXValue getDescription() {
    return description;
  }

  public AXValue getValue() {
    return value;
  }

  public List getProperties() {
    return properties;
  }

  public List getChildIds() {
    return childIds;
  }

  public BackendNodeId getBackendDOMNodeId() {
    return backendDOMNodeId;
  }

  public static AXNode.Builder builder() {
    return new AXNode.Builder();
  }

  public static final class Builder {
    private AXNodeId nodeId;

    private Boolean ignored;

    private List ignoredReasons;

    private AXValue role;

    private AXValue name;

    private AXValue description;

    private AXValue value;

    private List properties;

    private List childIds;

    private BackendNodeId backendDOMNodeId;

    private Builder() {
    }

    public AXNode.Builder setNodeId(AXNodeId nodeId) {
      this.nodeId = nodeId;
      return this;
    }

    public AXNode.Builder setIgnored(Boolean ignored) {
      this.ignored = ignored;
      return this;
    }

    public AXNode.Builder setIgnoredReasons(List ignoredReasons) {
      this.ignoredReasons = ignoredReasons;
      return this;
    }

    public AXNode.Builder setRole(AXValue role) {
      this.role = role;
      return this;
    }

    public AXNode.Builder setName(AXValue name) {
      this.name = name;
      return this;
    }

    public AXNode.Builder setDescription(AXValue description) {
      this.description = description;
      return this;
    }

    public AXNode.Builder setValue(AXValue value) {
      this.value = value;
      return this;
    }

    public AXNode.Builder setProperties(List properties) {
      this.properties = properties;
      return this;
    }

    public AXNode.Builder setChildIds(List childIds) {
      this.childIds = childIds;
      return this;
    }

    public AXNode.Builder setBackendDOMNodeId(BackendNodeId backendDOMNodeId) {
      this.backendDOMNodeId = backendDOMNodeId;
      return this;
    }

    public AXNode build() {
      return new AXNode(nodeId, ignored, ignoredReasons, role, name, description, value, properties, childIds, backendDOMNodeId);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy