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

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

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

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * A single source for a computed AX property.
 */
public final class AXValueSource {
  private AXValueSourceType type;

  private AXValue value;

  private String attribute;

  private AXValue attributeValue;

  private Boolean superseded;

  private AXValueNativeSourceType nativeSource;

  private AXValue nativeSourceValue;

  private Boolean invalid;

  private String invalidReason;

  @JsonCreator
  public AXValueSource(@JsonProperty("type") AXValueSourceType type,
      @JsonProperty("value") AXValue value, @JsonProperty("attribute") String attribute,
      @JsonProperty("attributeValue") AXValue attributeValue,
      @JsonProperty("superseded") Boolean superseded,
      @JsonProperty("nativeSource") AXValueNativeSourceType nativeSource,
      @JsonProperty("nativeSourceValue") AXValue nativeSourceValue,
      @JsonProperty("invalid") Boolean invalid,
      @JsonProperty("invalidReason") String invalidReason) {
    this.type = type;
    this.value = value;
    this.attribute = attribute;
    this.attributeValue = attributeValue;
    this.superseded = superseded;
    this.nativeSource = nativeSource;
    this.nativeSourceValue = nativeSourceValue;
    this.invalid = invalid;
    this.invalidReason = invalidReason;
  }

  public AXValueSourceType getType() {
    return type;
  }

  public AXValue getValue() {
    return value;
  }

  public String getAttribute() {
    return attribute;
  }

  public AXValue getAttributeValue() {
    return attributeValue;
  }

  public Boolean getSuperseded() {
    return superseded;
  }

  public AXValueNativeSourceType getNativeSource() {
    return nativeSource;
  }

  public AXValue getNativeSourceValue() {
    return nativeSourceValue;
  }

  public Boolean getInvalid() {
    return invalid;
  }

  public String getInvalidReason() {
    return invalidReason;
  }

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

  public static final class Builder {
    private AXValueSourceType type;

    private AXValue value;

    private String attribute;

    private AXValue attributeValue;

    private Boolean superseded;

    private AXValueNativeSourceType nativeSource;

    private AXValue nativeSourceValue;

    private Boolean invalid;

    private String invalidReason;

    private Builder() {
    }

    public AXValueSource.Builder setType(AXValueSourceType type) {
      this.type = type;
      return this;
    }

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

    public AXValueSource.Builder setAttribute(String attribute) {
      this.attribute = attribute;
      return this;
    }

    public AXValueSource.Builder setAttributeValue(AXValue attributeValue) {
      this.attributeValue = attributeValue;
      return this;
    }

    public AXValueSource.Builder setSuperseded(Boolean superseded) {
      this.superseded = superseded;
      return this;
    }

    public AXValueSource.Builder setNativeSource(AXValueNativeSourceType nativeSource) {
      this.nativeSource = nativeSource;
      return this;
    }

    public AXValueSource.Builder setNativeSourceValue(AXValue nativeSourceValue) {
      this.nativeSourceValue = nativeSourceValue;
      return this;
    }

    public AXValueSource.Builder setInvalid(Boolean invalid) {
      this.invalid = invalid;
      return this;
    }

    public AXValueSource.Builder setInvalidReason(String invalidReason) {
      this.invalidReason = invalidReason;
      return this;
    }

    public AXValueSource build() {
      return new AXValueSource(type, value, attribute, attributeValue, superseded, nativeSource, nativeSourceValue, invalid, invalidReason);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy