com.hubspot.chrome.devtools.client.core.runtime.CallArgument Maven / Gradle / Ivy
package com.hubspot.chrome.devtools.client.core.runtime;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Represents function call argument. Either remote object id `objectId`, primitive `value`,
* unserializable primitive value or neither of (for undefined) them should be specified.
*/
public final class CallArgument {
private Object value;
private UnserializableValue unserializableValue;
private RemoteObjectId objectId;
@JsonCreator
public CallArgument(@JsonProperty("value") Object value,
@JsonProperty("unserializableValue") UnserializableValue unserializableValue,
@JsonProperty("objectId") RemoteObjectId objectId) {
this.value = value;
this.unserializableValue = unserializableValue;
this.objectId = objectId;
}
public Object getValue() {
return value;
}
public UnserializableValue getUnserializableValue() {
return unserializableValue;
}
public RemoteObjectId getObjectId() {
return objectId;
}
public static CallArgument.Builder builder() {
return new CallArgument.Builder();
}
public static final class Builder {
private Object value;
private UnserializableValue unserializableValue;
private RemoteObjectId objectId;
private Builder() {
}
public CallArgument.Builder setValue(Object value) {
this.value = value;
return this;
}
public CallArgument.Builder setUnserializableValue(UnserializableValue unserializableValue) {
this.unserializableValue = unserializableValue;
return this;
}
public CallArgument.Builder setObjectId(RemoteObjectId objectId) {
this.objectId = objectId;
return this;
}
public CallArgument build() {
return new CallArgument(value, unserializableValue, objectId);
}
}
}