org.openqa.selenium.devtools.v88.animation.model.KeyframesRule Maven / Gradle / Ivy
package org.openqa.selenium.devtools.v88.animation.model;
import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;
/**
* Keyframes Rule
*/
public class KeyframesRule {
private final java.util.Optional name;
private final java.util.List keyframes;
public KeyframesRule(java.util.Optional name, java.util.List keyframes) {
this.name = name;
this.keyframes = java.util.Objects.requireNonNull(keyframes, "keyframes is required");
}
/**
* CSS keyframed animation's name.
*/
public java.util.Optional getName() {
return name;
}
/**
* List of animation keyframes.
*/
public java.util.List getKeyframes() {
return keyframes;
}
private static KeyframesRule fromJson(JsonInput input) {
java.util.Optional name = java.util.Optional.empty();
java.util.List keyframes = null;
input.beginObject();
while (input.hasNext()) {
switch(input.nextName()) {
case "name":
name = java.util.Optional.ofNullable(input.nextString());
break;
case "keyframes":
keyframes = input.read(new com.google.common.reflect.TypeToken>() {
}.getType());
break;
default:
input.skipValue();
break;
}
}
input.endObject();
return new KeyframesRule(name, keyframes);
}
}