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);
}
}
}