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

org.openqa.selenium.devtools.v90.animation.model.AnimationEffect Maven / Gradle / Ivy

Go to download

Selenium automates browsers. That's it! What you do with that power is entirely up to you.

There is a newer version: 4.0.0-beta-4
Show newest version
package org.openqa.selenium.devtools.v90.animation.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

/**
 * AnimationEffect instance
 */
public class AnimationEffect {

    private final java.lang.Number delay;

    private final java.lang.Number endDelay;

    private final java.lang.Number iterationStart;

    private final java.lang.Number iterations;

    private final java.lang.Number duration;

    private final java.lang.String direction;

    private final java.lang.String fill;

    private final java.util.Optional backendNodeId;

    private final java.util.Optional keyframesRule;

    private final java.lang.String easing;

    public AnimationEffect(java.lang.Number delay, java.lang.Number endDelay, java.lang.Number iterationStart, java.lang.Number iterations, java.lang.Number duration, java.lang.String direction, java.lang.String fill, java.util.Optional backendNodeId, java.util.Optional keyframesRule, java.lang.String easing) {
        this.delay = java.util.Objects.requireNonNull(delay, "delay is required");
        this.endDelay = java.util.Objects.requireNonNull(endDelay, "endDelay is required");
        this.iterationStart = java.util.Objects.requireNonNull(iterationStart, "iterationStart is required");
        this.iterations = java.util.Objects.requireNonNull(iterations, "iterations is required");
        this.duration = java.util.Objects.requireNonNull(duration, "duration is required");
        this.direction = java.util.Objects.requireNonNull(direction, "direction is required");
        this.fill = java.util.Objects.requireNonNull(fill, "fill is required");
        this.backendNodeId = backendNodeId;
        this.keyframesRule = keyframesRule;
        this.easing = java.util.Objects.requireNonNull(easing, "easing is required");
    }

    /**
     * `AnimationEffect`'s delay.
     */
    public java.lang.Number getDelay() {
        return delay;
    }

    /**
     * `AnimationEffect`'s end delay.
     */
    public java.lang.Number getEndDelay() {
        return endDelay;
    }

    /**
     * `AnimationEffect`'s iteration start.
     */
    public java.lang.Number getIterationStart() {
        return iterationStart;
    }

    /**
     * `AnimationEffect`'s iterations.
     */
    public java.lang.Number getIterations() {
        return iterations;
    }

    /**
     * `AnimationEffect`'s iteration duration.
     */
    public java.lang.Number getDuration() {
        return duration;
    }

    /**
     * `AnimationEffect`'s playback direction.
     */
    public java.lang.String getDirection() {
        return direction;
    }

    /**
     * `AnimationEffect`'s fill mode.
     */
    public java.lang.String getFill() {
        return fill;
    }

    /**
     * `AnimationEffect`'s target node.
     */
    public java.util.Optional getBackendNodeId() {
        return backendNodeId;
    }

    /**
     * `AnimationEffect`'s keyframes.
     */
    public java.util.Optional getKeyframesRule() {
        return keyframesRule;
    }

    /**
     * `AnimationEffect`'s timing function.
     */
    public java.lang.String getEasing() {
        return easing;
    }

    private static AnimationEffect fromJson(JsonInput input) {
        java.lang.Number delay = 0;
        java.lang.Number endDelay = 0;
        java.lang.Number iterationStart = 0;
        java.lang.Number iterations = 0;
        java.lang.Number duration = 0;
        java.lang.String direction = null;
        java.lang.String fill = null;
        java.util.Optional backendNodeId = java.util.Optional.empty();
        java.util.Optional keyframesRule = java.util.Optional.empty();
        java.lang.String easing = null;
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "delay":
                    delay = input.nextNumber();
                    break;
                case "endDelay":
                    endDelay = input.nextNumber();
                    break;
                case "iterationStart":
                    iterationStart = input.nextNumber();
                    break;
                case "iterations":
                    iterations = input.nextNumber();
                    break;
                case "duration":
                    duration = input.nextNumber();
                    break;
                case "direction":
                    direction = input.nextString();
                    break;
                case "fill":
                    fill = input.nextString();
                    break;
                case "backendNodeId":
                    backendNodeId = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.BackendNodeId.class));
                    break;
                case "keyframesRule":
                    keyframesRule = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.animation.model.KeyframesRule.class));
                    break;
                case "easing":
                    easing = input.nextString();
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new AnimationEffect(delay, endDelay, iterationStart, iterations, duration, direction, fill, backendNodeId, keyframesRule, easing);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy