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

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

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

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/**
 * A single computed AX property.
 */
public final class AXValue {
  private AXValueType type;

  private Object value;

  private List relatedNodes;

  private List sources;

  @JsonCreator
  public AXValue(@JsonProperty("type") AXValueType type, @JsonProperty("value") Object value,
      @JsonProperty("relatedNodes") List relatedNodes,
      @JsonProperty("sources") List sources) {
    this.type = type;
    this.value = value;
    this.relatedNodes = relatedNodes;
    this.sources = sources;
  }

  public AXValueType getType() {
    return type;
  }

  public Object getValue() {
    return value;
  }

  public List getRelatedNodes() {
    return relatedNodes;
  }

  public List getSources() {
    return sources;
  }

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

  public static final class Builder {
    private AXValueType type;

    private Object value;

    private List relatedNodes;

    private List sources;

    private Builder() {
    }

    public AXValue.Builder setType(AXValueType type) {
      this.type = type;
      return this;
    }

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

    public AXValue.Builder setRelatedNodes(List relatedNodes) {
      this.relatedNodes = relatedNodes;
      return this;
    }

    public AXValue.Builder setSources(List sources) {
      this.sources = sources;
      return this;
    }

    public AXValue build() {
      return new AXValue(type, value, relatedNodes, sources);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy