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

com.hubspot.chrome.devtools.client.core.dom.ShapeOutsideInfo Maven / Gradle / Ivy

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

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/**
 * CSS Shape Outside details.
 */
public final class ShapeOutsideInfo {
  private Quad bounds;

  private List shape;

  private List marginShape;

  @JsonCreator
  public ShapeOutsideInfo(@JsonProperty("bounds") Quad bounds,
      @JsonProperty("shape") List shape,
      @JsonProperty("marginShape") List marginShape) {
    this.bounds = bounds;
    this.shape = shape;
    this.marginShape = marginShape;
  }

  public Quad getBounds() {
    return bounds;
  }

  public List getShape() {
    return shape;
  }

  public List getMarginShape() {
    return marginShape;
  }

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

  public static final class Builder {
    private Quad bounds;

    private List shape;

    private List marginShape;

    private Builder() {
    }

    public ShapeOutsideInfo.Builder setBounds(Quad bounds) {
      this.bounds = bounds;
      return this;
    }

    public ShapeOutsideInfo.Builder setShape(List shape) {
      this.shape = shape;
      return this;
    }

    public ShapeOutsideInfo.Builder setMarginShape(List marginShape) {
      this.marginShape = marginShape;
      return this;
    }

    public ShapeOutsideInfo build() {
      return new ShapeOutsideInfo(bounds, shape, marginShape);
    }
  }
}