additionalProperties = new HashMap<>();
+
+ private Builder() {}
+
+ public Builder from(DocPagesSetScaleRequest other) {
+ documentPassword(other.getDocumentPassword());
+ measure(other.getMeasure());
+ return this;
+ }
+
+ /**
+ * Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
+ */
+ public Builder documentPassword(Optional documentPassword) {
+ this.documentPassword = documentPassword;
+ return this;
+ }
+
+ public Builder documentPassword(String documentPassword) {
+ this.documentPassword = Optional.ofNullable(documentPassword);
+ return this;
+ }
+
+ @JsonSetter(value = "measure", nulls = Nulls.SKIP)
+ public Builder measure(Optional measure) {
+ this.measure = measure;
+ return this;
+ }
+
+ public Builder measure(DocPagesSetScaleRequestMeasure measure) {
+ this.measure = Optional.ofNullable(measure);
+ return this;
+ }
+
+ public Builder measure(Nullable measure) {
+ if (measure.isNull()) {
+ this.measure = null;
+ } else if (measure.isEmpty()) {
+ this.measure = Optional.empty();
+ } else {
+ this.measure = Optional.of(measure.get());
+ }
+ return this;
+ }
+
+ public DocPagesSetScaleRequest build() {
+ return new DocPagesSetScaleRequest(documentPassword, measure, additionalProperties);
+ }
+
+ public Builder additionalProperty(String key, Object value) {
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ public Builder additionalProperties(Map additionalProperties) {
+ this.additionalProperties.putAll(additionalProperties);
+ return this;
+ }
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/requests/ViewportsPagesRequest.java b/src/main/java/api/resources/doc/pages/requests/ViewportsPagesRequest.java
new file mode 100644
index 0000000..fdc9050
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/requests/ViewportsPagesRequest.java
@@ -0,0 +1,108 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.requests;
+
+import com.cloudpdf.api.core.ObjectMappers;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+
+@JsonInclude(JsonInclude.Include.NON_ABSENT)
+@JsonDeserialize(builder = ViewportsPagesRequest.Builder.class)
+public final class ViewportsPagesRequest {
+ private final Optional documentPassword;
+
+ private final Map additionalProperties;
+
+ private ViewportsPagesRequest(Optional documentPassword, Map additionalProperties) {
+ this.documentPassword = documentPassword;
+ this.additionalProperties = additionalProperties;
+ }
+
+ /**
+ * @return Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
+ */
+ @JsonIgnore
+ public Optional getDocumentPassword() {
+ return documentPassword;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ return other instanceof ViewportsPagesRequest && equalTo((ViewportsPagesRequest) other);
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ private boolean equalTo(ViewportsPagesRequest other) {
+ return documentPassword.equals(other.documentPassword);
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return Objects.hash(this.documentPassword);
+ }
+
+ @java.lang.Override
+ public String toString() {
+ return ObjectMappers.stringify(this);
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ public static final class Builder {
+ private Optional documentPassword = Optional.empty();
+
+ @JsonAnySetter
+ private Map additionalProperties = new HashMap<>();
+
+ private Builder() {}
+
+ public Builder from(ViewportsPagesRequest other) {
+ documentPassword(other.getDocumentPassword());
+ return this;
+ }
+
+ /**
+ * Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
+ */
+ public Builder documentPassword(Optional documentPassword) {
+ this.documentPassword = documentPassword;
+ return this;
+ }
+
+ public Builder documentPassword(String documentPassword) {
+ this.documentPassword = Optional.ofNullable(documentPassword);
+ return this;
+ }
+
+ public ViewportsPagesRequest build() {
+ return new ViewportsPagesRequest(documentPassword, additionalProperties);
+ }
+
+ public Builder additionalProperty(String key, Object value) {
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ public Builder additionalProperties(Map additionalProperties) {
+ this.additionalProperties.putAll(additionalProperties);
+ return this;
+ }
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasure.java b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasure.java
new file mode 100644
index 0000000..5098836
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasure.java
@@ -0,0 +1,444 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.types;
+
+import com.cloudpdf.api.core.ObjectMappers;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.jetbrains.annotations.NotNull;
+
+@JsonInclude(JsonInclude.Include.NON_ABSENT)
+@JsonDeserialize(builder = DocPagesSetScaleRequestMeasure.Builder.class)
+public final class DocPagesSetScaleRequestMeasure {
+ private final DocPagesSetScaleRequestMeasureSubtype subtype;
+
+ private final Optional ratio;
+
+ private final List x;
+
+ private final Optional> y;
+
+ private final List distance;
+
+ private final List area;
+
+ private final Optional> angle;
+
+ private final Optional> slope;
+
+ private final Optional origin;
+
+ private final Optional cyx;
+
+ private final Map additionalProperties;
+
+ private DocPagesSetScaleRequestMeasure(
+ DocPagesSetScaleRequestMeasureSubtype subtype,
+ Optional ratio,
+ List x,
+ Optional> y,
+ List distance,
+ List area,
+ Optional> angle,
+ Optional> slope,
+ Optional origin,
+ Optional cyx,
+ Map additionalProperties) {
+ this.subtype = subtype;
+ this.ratio = ratio;
+ this.x = x;
+ this.y = y;
+ this.distance = distance;
+ this.area = area;
+ this.angle = angle;
+ this.slope = slope;
+ this.origin = origin;
+ this.cyx = cyx;
+ this.additionalProperties = additionalProperties;
+ }
+
+ @JsonProperty("subtype")
+ public DocPagesSetScaleRequestMeasureSubtype getSubtype() {
+ return subtype;
+ }
+
+ @JsonProperty("ratio")
+ public Optional getRatio() {
+ return ratio;
+ }
+
+ @JsonProperty("x")
+ public List getX() {
+ return x;
+ }
+
+ @JsonProperty("y")
+ public Optional> getY() {
+ return y;
+ }
+
+ @JsonProperty("distance")
+ public List getDistance() {
+ return distance;
+ }
+
+ @JsonProperty("area")
+ public List getArea() {
+ return area;
+ }
+
+ @JsonProperty("angle")
+ public Optional> getAngle() {
+ return angle;
+ }
+
+ @JsonProperty("slope")
+ public Optional> getSlope() {
+ return slope;
+ }
+
+ @JsonProperty("origin")
+ public Optional getOrigin() {
+ return origin;
+ }
+
+ @JsonProperty("cyx")
+ public Optional getCyx() {
+ return cyx;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ return other instanceof DocPagesSetScaleRequestMeasure && equalTo((DocPagesSetScaleRequestMeasure) other);
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ private boolean equalTo(DocPagesSetScaleRequestMeasure other) {
+ return subtype.equals(other.subtype)
+ && ratio.equals(other.ratio)
+ && x.equals(other.x)
+ && y.equals(other.y)
+ && distance.equals(other.distance)
+ && area.equals(other.area)
+ && angle.equals(other.angle)
+ && slope.equals(other.slope)
+ && origin.equals(other.origin)
+ && cyx.equals(other.cyx);
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return Objects.hash(
+ this.subtype,
+ this.ratio,
+ this.x,
+ this.y,
+ this.distance,
+ this.area,
+ this.angle,
+ this.slope,
+ this.origin,
+ this.cyx);
+ }
+
+ @java.lang.Override
+ public String toString() {
+ return ObjectMappers.stringify(this);
+ }
+
+ public static SubtypeStage builder() {
+ return new Builder();
+ }
+
+ public interface SubtypeStage {
+ _FinalStage subtype(@NotNull DocPagesSetScaleRequestMeasureSubtype subtype);
+
+ Builder from(DocPagesSetScaleRequestMeasure other);
+ }
+
+ public interface _FinalStage {
+ DocPagesSetScaleRequestMeasure build();
+
+ _FinalStage additionalProperty(String key, Object value);
+
+ _FinalStage additionalProperties(Map additionalProperties);
+
+ _FinalStage ratio(Optional ratio);
+
+ _FinalStage ratio(String ratio);
+
+ _FinalStage x(List x);
+
+ _FinalStage addX(DocPagesSetScaleRequestMeasureXItem x);
+
+ _FinalStage addAllX(List x);
+
+ _FinalStage y(Optional> y);
+
+ _FinalStage y(List y);
+
+ _FinalStage distance(List distance);
+
+ _FinalStage addDistance(DocPagesSetScaleRequestMeasureDistanceItem distance);
+
+ _FinalStage addAllDistance(List distance);
+
+ _FinalStage area(List area);
+
+ _FinalStage addArea(DocPagesSetScaleRequestMeasureAreaItem area);
+
+ _FinalStage addAllArea(List area);
+
+ _FinalStage angle(Optional> angle);
+
+ _FinalStage angle(List angle);
+
+ _FinalStage slope(Optional> slope);
+
+ _FinalStage slope(List slope);
+
+ _FinalStage origin(Optional origin);
+
+ _FinalStage origin(DocPagesSetScaleRequestMeasureOrigin origin);
+
+ _FinalStage cyx(Optional cyx);
+
+ _FinalStage cyx(Double cyx);
+ }
+
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ public static final class Builder implements SubtypeStage, _FinalStage {
+ private DocPagesSetScaleRequestMeasureSubtype subtype;
+
+ private Optional cyx = Optional.empty();
+
+ private Optional origin = Optional.empty();
+
+ private Optional> slope = Optional.empty();
+
+ private Optional> angle = Optional.empty();
+
+ private List area = new ArrayList<>();
+
+ private List distance = new ArrayList<>();
+
+ private Optional> y = Optional.empty();
+
+ private List x = new ArrayList<>();
+
+ private Optional ratio = Optional.empty();
+
+ @JsonAnySetter
+ private Map additionalProperties = new HashMap<>();
+
+ private Builder() {}
+
+ @java.lang.Override
+ public Builder from(DocPagesSetScaleRequestMeasure other) {
+ subtype(other.getSubtype());
+ ratio(other.getRatio());
+ x(other.getX());
+ y(other.getY());
+ distance(other.getDistance());
+ area(other.getArea());
+ angle(other.getAngle());
+ slope(other.getSlope());
+ origin(other.getOrigin());
+ cyx(other.getCyx());
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter("subtype")
+ public _FinalStage subtype(@NotNull DocPagesSetScaleRequestMeasureSubtype subtype) {
+ this.subtype = Objects.requireNonNull(subtype, "subtype must not be null");
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage cyx(Double cyx) {
+ this.cyx = Optional.ofNullable(cyx);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "cyx", nulls = Nulls.SKIP)
+ public _FinalStage cyx(Optional cyx) {
+ this.cyx = cyx;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage origin(DocPagesSetScaleRequestMeasureOrigin origin) {
+ this.origin = Optional.ofNullable(origin);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "origin", nulls = Nulls.SKIP)
+ public _FinalStage origin(Optional origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage slope(List slope) {
+ this.slope = Optional.ofNullable(slope);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "slope", nulls = Nulls.SKIP)
+ public _FinalStage slope(Optional> slope) {
+ this.slope = slope;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage angle(List angle) {
+ this.angle = Optional.ofNullable(angle);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "angle", nulls = Nulls.SKIP)
+ public _FinalStage angle(Optional> angle) {
+ this.angle = angle;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage addAllArea(List area) {
+ if (area != null) {
+ this.area.addAll(area);
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage addArea(DocPagesSetScaleRequestMeasureAreaItem area) {
+ this.area.add(area);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "area", nulls = Nulls.SKIP)
+ public _FinalStage area(List area) {
+ this.area.clear();
+ if (area != null) {
+ this.area.addAll(area);
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage addAllDistance(List distance) {
+ if (distance != null) {
+ this.distance.addAll(distance);
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage addDistance(DocPagesSetScaleRequestMeasureDistanceItem distance) {
+ this.distance.add(distance);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "distance", nulls = Nulls.SKIP)
+ public _FinalStage distance(List distance) {
+ this.distance.clear();
+ if (distance != null) {
+ this.distance.addAll(distance);
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage y(List y) {
+ this.y = Optional.ofNullable(y);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "y", nulls = Nulls.SKIP)
+ public _FinalStage y(Optional> y) {
+ this.y = y;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage addAllX(List x) {
+ if (x != null) {
+ this.x.addAll(x);
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage addX(DocPagesSetScaleRequestMeasureXItem x) {
+ this.x.add(x);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "x", nulls = Nulls.SKIP)
+ public _FinalStage x(List x) {
+ this.x.clear();
+ if (x != null) {
+ this.x.addAll(x);
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage ratio(String ratio) {
+ this.ratio = Optional.ofNullable(ratio);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "ratio", nulls = Nulls.SKIP)
+ public _FinalStage ratio(Optional ratio) {
+ this.ratio = ratio;
+ return this;
+ }
+
+ @java.lang.Override
+ public DocPagesSetScaleRequestMeasure build() {
+ return new DocPagesSetScaleRequestMeasure(
+ subtype, ratio, x, y, distance, area, angle, slope, origin, cyx, additionalProperties);
+ }
+
+ @java.lang.Override
+ public Builder additionalProperty(String key, Object value) {
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ @java.lang.Override
+ public Builder additionalProperties(Map additionalProperties) {
+ this.additionalProperties.putAll(additionalProperties);
+ return this;
+ }
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItem.java b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItem.java
new file mode 100644
index 0000000..84282f5
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItem.java
@@ -0,0 +1,408 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.types;
+
+import com.cloudpdf.api.core.ObjectMappers;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.jetbrains.annotations.NotNull;
+
+@JsonInclude(JsonInclude.Include.NON_ABSENT)
+@JsonDeserialize(builder = DocPagesSetScaleRequestMeasureAngleItem.Builder.class)
+public final class DocPagesSetScaleRequestMeasureAngleItem {
+ private final String unit;
+
+ private final double conversion;
+
+ private final Optional fraction;
+
+ private final Optional precision;
+
+ private final Optional fixed;
+
+ private final Optional thousands;
+
+ private final Optional decimal;
+
+ private final Optional prefixSpacing;
+
+ private final Optional suffixSpacing;
+
+ private final Optional labelPosition;
+
+ private final Map additionalProperties;
+
+ private DocPagesSetScaleRequestMeasureAngleItem(
+ String unit,
+ double conversion,
+ Optional fraction,
+ Optional precision,
+ Optional fixed,
+ Optional thousands,
+ Optional decimal,
+ Optional prefixSpacing,
+ Optional suffixSpacing,
+ Optional labelPosition,
+ Map additionalProperties) {
+ this.unit = unit;
+ this.conversion = conversion;
+ this.fraction = fraction;
+ this.precision = precision;
+ this.fixed = fixed;
+ this.thousands = thousands;
+ this.decimal = decimal;
+ this.prefixSpacing = prefixSpacing;
+ this.suffixSpacing = suffixSpacing;
+ this.labelPosition = labelPosition;
+ this.additionalProperties = additionalProperties;
+ }
+
+ @JsonProperty("unit")
+ public String getUnit() {
+ return unit;
+ }
+
+ @JsonProperty("conversion")
+ public double getConversion() {
+ return conversion;
+ }
+
+ @JsonProperty("fraction")
+ public Optional getFraction() {
+ return fraction;
+ }
+
+ @JsonProperty("precision")
+ public Optional getPrecision() {
+ return precision;
+ }
+
+ @JsonProperty("fixed")
+ public Optional getFixed() {
+ return fixed;
+ }
+
+ @JsonProperty("thousands")
+ public Optional getThousands() {
+ return thousands;
+ }
+
+ @JsonProperty("decimal")
+ public Optional getDecimal() {
+ return decimal;
+ }
+
+ @JsonProperty("prefixSpacing")
+ public Optional getPrefixSpacing() {
+ return prefixSpacing;
+ }
+
+ @JsonProperty("suffixSpacing")
+ public Optional getSuffixSpacing() {
+ return suffixSpacing;
+ }
+
+ @JsonProperty("labelPosition")
+ public Optional getLabelPosition() {
+ return labelPosition;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ return other instanceof DocPagesSetScaleRequestMeasureAngleItem
+ && equalTo((DocPagesSetScaleRequestMeasureAngleItem) other);
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ private boolean equalTo(DocPagesSetScaleRequestMeasureAngleItem other) {
+ return unit.equals(other.unit)
+ && conversion == other.conversion
+ && fraction.equals(other.fraction)
+ && precision.equals(other.precision)
+ && fixed.equals(other.fixed)
+ && thousands.equals(other.thousands)
+ && decimal.equals(other.decimal)
+ && prefixSpacing.equals(other.prefixSpacing)
+ && suffixSpacing.equals(other.suffixSpacing)
+ && labelPosition.equals(other.labelPosition);
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return Objects.hash(
+ this.unit,
+ this.conversion,
+ this.fraction,
+ this.precision,
+ this.fixed,
+ this.thousands,
+ this.decimal,
+ this.prefixSpacing,
+ this.suffixSpacing,
+ this.labelPosition);
+ }
+
+ @java.lang.Override
+ public String toString() {
+ return ObjectMappers.stringify(this);
+ }
+
+ public static UnitStage builder() {
+ return new Builder();
+ }
+
+ public interface UnitStage {
+ ConversionStage unit(@NotNull String unit);
+
+ Builder from(DocPagesSetScaleRequestMeasureAngleItem other);
+ }
+
+ public interface ConversionStage {
+ _FinalStage conversion(double conversion);
+ }
+
+ public interface _FinalStage {
+ DocPagesSetScaleRequestMeasureAngleItem build();
+
+ _FinalStage additionalProperty(String key, Object value);
+
+ _FinalStage additionalProperties(Map additionalProperties);
+
+ _FinalStage fraction(Optional fraction);
+
+ _FinalStage fraction(DocPagesSetScaleRequestMeasureAngleItemFraction fraction);
+
+ _FinalStage precision(Optional precision);
+
+ _FinalStage precision(Integer precision);
+
+ _FinalStage fixed(Optional fixed);
+
+ _FinalStage fixed(Boolean fixed);
+
+ _FinalStage thousands(Optional thousands);
+
+ _FinalStage thousands(String thousands);
+
+ _FinalStage decimal(Optional decimal);
+
+ _FinalStage decimal(String decimal);
+
+ _FinalStage prefixSpacing(Optional prefixSpacing);
+
+ _FinalStage prefixSpacing(String prefixSpacing);
+
+ _FinalStage suffixSpacing(Optional suffixSpacing);
+
+ _FinalStage suffixSpacing(String suffixSpacing);
+
+ _FinalStage labelPosition(Optional labelPosition);
+
+ _FinalStage labelPosition(DocPagesSetScaleRequestMeasureAngleItemLabelPosition labelPosition);
+ }
+
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ public static final class Builder implements UnitStage, ConversionStage, _FinalStage {
+ private String unit;
+
+ private double conversion;
+
+ private Optional labelPosition = Optional.empty();
+
+ private Optional suffixSpacing = Optional.empty();
+
+ private Optional prefixSpacing = Optional.empty();
+
+ private Optional decimal = Optional.empty();
+
+ private Optional thousands = Optional.empty();
+
+ private Optional fixed = Optional.empty();
+
+ private Optional precision = Optional.empty();
+
+ private Optional fraction = Optional.empty();
+
+ @JsonAnySetter
+ private Map additionalProperties = new HashMap<>();
+
+ private Builder() {}
+
+ @java.lang.Override
+ public Builder from(DocPagesSetScaleRequestMeasureAngleItem other) {
+ unit(other.getUnit());
+ conversion(other.getConversion());
+ fraction(other.getFraction());
+ precision(other.getPrecision());
+ fixed(other.getFixed());
+ thousands(other.getThousands());
+ decimal(other.getDecimal());
+ prefixSpacing(other.getPrefixSpacing());
+ suffixSpacing(other.getSuffixSpacing());
+ labelPosition(other.getLabelPosition());
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter("unit")
+ public ConversionStage unit(@NotNull String unit) {
+ this.unit = Objects.requireNonNull(unit, "unit must not be null");
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter("conversion")
+ public _FinalStage conversion(double conversion) {
+ this.conversion = conversion;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage labelPosition(DocPagesSetScaleRequestMeasureAngleItemLabelPosition labelPosition) {
+ this.labelPosition = Optional.ofNullable(labelPosition);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "labelPosition", nulls = Nulls.SKIP)
+ public _FinalStage labelPosition(Optional labelPosition) {
+ this.labelPosition = labelPosition;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage suffixSpacing(String suffixSpacing) {
+ this.suffixSpacing = Optional.ofNullable(suffixSpacing);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "suffixSpacing", nulls = Nulls.SKIP)
+ public _FinalStage suffixSpacing(Optional suffixSpacing) {
+ this.suffixSpacing = suffixSpacing;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage prefixSpacing(String prefixSpacing) {
+ this.prefixSpacing = Optional.ofNullable(prefixSpacing);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "prefixSpacing", nulls = Nulls.SKIP)
+ public _FinalStage prefixSpacing(Optional prefixSpacing) {
+ this.prefixSpacing = prefixSpacing;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage decimal(String decimal) {
+ this.decimal = Optional.ofNullable(decimal);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "decimal", nulls = Nulls.SKIP)
+ public _FinalStage decimal(Optional decimal) {
+ this.decimal = decimal;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage thousands(String thousands) {
+ this.thousands = Optional.ofNullable(thousands);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "thousands", nulls = Nulls.SKIP)
+ public _FinalStage thousands(Optional thousands) {
+ this.thousands = thousands;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage fixed(Boolean fixed) {
+ this.fixed = Optional.ofNullable(fixed);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "fixed", nulls = Nulls.SKIP)
+ public _FinalStage fixed(Optional fixed) {
+ this.fixed = fixed;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage precision(Integer precision) {
+ this.precision = Optional.ofNullable(precision);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "precision", nulls = Nulls.SKIP)
+ public _FinalStage precision(Optional precision) {
+ this.precision = precision;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage fraction(DocPagesSetScaleRequestMeasureAngleItemFraction fraction) {
+ this.fraction = Optional.ofNullable(fraction);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "fraction", nulls = Nulls.SKIP)
+ public _FinalStage fraction(Optional fraction) {
+ this.fraction = fraction;
+ return this;
+ }
+
+ @java.lang.Override
+ public DocPagesSetScaleRequestMeasureAngleItem build() {
+ return new DocPagesSetScaleRequestMeasureAngleItem(
+ unit,
+ conversion,
+ fraction,
+ precision,
+ fixed,
+ thousands,
+ decimal,
+ prefixSpacing,
+ suffixSpacing,
+ labelPosition,
+ additionalProperties);
+ }
+
+ @java.lang.Override
+ public Builder additionalProperty(String key, Object value) {
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ @java.lang.Override
+ public Builder additionalProperties(Map additionalProperties) {
+ this.additionalProperties.putAll(additionalProperties);
+ return this;
+ }
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItemFraction.java b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItemFraction.java
new file mode 100644
index 0000000..2d5c4bb
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItemFraction.java
@@ -0,0 +1,108 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.types;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+public final class DocPagesSetScaleRequestMeasureAngleItemFraction {
+ public static final DocPagesSetScaleRequestMeasureAngleItemFraction TRUNCATE =
+ new DocPagesSetScaleRequestMeasureAngleItemFraction(Value.TRUNCATE, "truncate");
+
+ public static final DocPagesSetScaleRequestMeasureAngleItemFraction DECIMAL =
+ new DocPagesSetScaleRequestMeasureAngleItemFraction(Value.DECIMAL, "decimal");
+
+ public static final DocPagesSetScaleRequestMeasureAngleItemFraction ROUND =
+ new DocPagesSetScaleRequestMeasureAngleItemFraction(Value.ROUND, "round");
+
+ public static final DocPagesSetScaleRequestMeasureAngleItemFraction FRACTION =
+ new DocPagesSetScaleRequestMeasureAngleItemFraction(Value.FRACTION, "fraction");
+
+ private final Value value;
+
+ private final String string;
+
+ DocPagesSetScaleRequestMeasureAngleItemFraction(Value value, String string) {
+ this.value = value;
+ this.string = string;
+ }
+
+ public Value getEnumValue() {
+ return value;
+ }
+
+ @java.lang.Override
+ @JsonValue
+ public String toString() {
+ return this.string;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ return (this == other)
+ || (other instanceof DocPagesSetScaleRequestMeasureAngleItemFraction
+ && this.string.equals(((DocPagesSetScaleRequestMeasureAngleItemFraction) other).string));
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return this.string.hashCode();
+ }
+
+ public T visit(Visitor visitor) {
+ switch (value) {
+ case TRUNCATE:
+ return visitor.visitTruncate();
+ case DECIMAL:
+ return visitor.visitDecimal();
+ case ROUND:
+ return visitor.visitRound();
+ case FRACTION:
+ return visitor.visitFraction();
+ case UNKNOWN:
+ default:
+ return visitor.visitUnknown(string);
+ }
+ }
+
+ @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
+ public static DocPagesSetScaleRequestMeasureAngleItemFraction valueOf(String value) {
+ switch (value) {
+ case "truncate":
+ return TRUNCATE;
+ case "decimal":
+ return DECIMAL;
+ case "round":
+ return ROUND;
+ case "fraction":
+ return FRACTION;
+ default:
+ return new DocPagesSetScaleRequestMeasureAngleItemFraction(Value.UNKNOWN, value);
+ }
+ }
+
+ public enum Value {
+ DECIMAL,
+
+ FRACTION,
+
+ ROUND,
+
+ TRUNCATE,
+
+ UNKNOWN
+ }
+
+ public interface Visitor {
+ T visitDecimal();
+
+ T visitFraction();
+
+ T visitRound();
+
+ T visitTruncate();
+
+ T visitUnknown(String unknownType);
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItemLabelPosition.java b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItemLabelPosition.java
new file mode 100644
index 0000000..03ef7ef
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAngleItemLabelPosition.java
@@ -0,0 +1,86 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.types;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+public final class DocPagesSetScaleRequestMeasureAngleItemLabelPosition {
+ public static final DocPagesSetScaleRequestMeasureAngleItemLabelPosition PREFIX =
+ new DocPagesSetScaleRequestMeasureAngleItemLabelPosition(Value.PREFIX, "prefix");
+
+ public static final DocPagesSetScaleRequestMeasureAngleItemLabelPosition SUFFIX =
+ new DocPagesSetScaleRequestMeasureAngleItemLabelPosition(Value.SUFFIX, "suffix");
+
+ private final Value value;
+
+ private final String string;
+
+ DocPagesSetScaleRequestMeasureAngleItemLabelPosition(Value value, String string) {
+ this.value = value;
+ this.string = string;
+ }
+
+ public Value getEnumValue() {
+ return value;
+ }
+
+ @java.lang.Override
+ @JsonValue
+ public String toString() {
+ return this.string;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ return (this == other)
+ || (other instanceof DocPagesSetScaleRequestMeasureAngleItemLabelPosition
+ && this.string.equals(((DocPagesSetScaleRequestMeasureAngleItemLabelPosition) other).string));
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return this.string.hashCode();
+ }
+
+ public T visit(Visitor visitor) {
+ switch (value) {
+ case PREFIX:
+ return visitor.visitPrefix();
+ case SUFFIX:
+ return visitor.visitSuffix();
+ case UNKNOWN:
+ default:
+ return visitor.visitUnknown(string);
+ }
+ }
+
+ @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
+ public static DocPagesSetScaleRequestMeasureAngleItemLabelPosition valueOf(String value) {
+ switch (value) {
+ case "prefix":
+ return PREFIX;
+ case "suffix":
+ return SUFFIX;
+ default:
+ return new DocPagesSetScaleRequestMeasureAngleItemLabelPosition(Value.UNKNOWN, value);
+ }
+ }
+
+ public enum Value {
+ SUFFIX,
+
+ PREFIX,
+
+ UNKNOWN
+ }
+
+ public interface Visitor {
+ T visitSuffix();
+
+ T visitPrefix();
+
+ T visitUnknown(String unknownType);
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItem.java b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItem.java
new file mode 100644
index 0000000..59012a9
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItem.java
@@ -0,0 +1,408 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.types;
+
+import com.cloudpdf.api.core.ObjectMappers;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.jetbrains.annotations.NotNull;
+
+@JsonInclude(JsonInclude.Include.NON_ABSENT)
+@JsonDeserialize(builder = DocPagesSetScaleRequestMeasureAreaItem.Builder.class)
+public final class DocPagesSetScaleRequestMeasureAreaItem {
+ private final String unit;
+
+ private final double conversion;
+
+ private final Optional fraction;
+
+ private final Optional precision;
+
+ private final Optional fixed;
+
+ private final Optional thousands;
+
+ private final Optional decimal;
+
+ private final Optional prefixSpacing;
+
+ private final Optional suffixSpacing;
+
+ private final Optional labelPosition;
+
+ private final Map additionalProperties;
+
+ private DocPagesSetScaleRequestMeasureAreaItem(
+ String unit,
+ double conversion,
+ Optional fraction,
+ Optional precision,
+ Optional fixed,
+ Optional thousands,
+ Optional decimal,
+ Optional prefixSpacing,
+ Optional suffixSpacing,
+ Optional labelPosition,
+ Map additionalProperties) {
+ this.unit = unit;
+ this.conversion = conversion;
+ this.fraction = fraction;
+ this.precision = precision;
+ this.fixed = fixed;
+ this.thousands = thousands;
+ this.decimal = decimal;
+ this.prefixSpacing = prefixSpacing;
+ this.suffixSpacing = suffixSpacing;
+ this.labelPosition = labelPosition;
+ this.additionalProperties = additionalProperties;
+ }
+
+ @JsonProperty("unit")
+ public String getUnit() {
+ return unit;
+ }
+
+ @JsonProperty("conversion")
+ public double getConversion() {
+ return conversion;
+ }
+
+ @JsonProperty("fraction")
+ public Optional getFraction() {
+ return fraction;
+ }
+
+ @JsonProperty("precision")
+ public Optional getPrecision() {
+ return precision;
+ }
+
+ @JsonProperty("fixed")
+ public Optional getFixed() {
+ return fixed;
+ }
+
+ @JsonProperty("thousands")
+ public Optional getThousands() {
+ return thousands;
+ }
+
+ @JsonProperty("decimal")
+ public Optional getDecimal() {
+ return decimal;
+ }
+
+ @JsonProperty("prefixSpacing")
+ public Optional getPrefixSpacing() {
+ return prefixSpacing;
+ }
+
+ @JsonProperty("suffixSpacing")
+ public Optional getSuffixSpacing() {
+ return suffixSpacing;
+ }
+
+ @JsonProperty("labelPosition")
+ public Optional getLabelPosition() {
+ return labelPosition;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ return other instanceof DocPagesSetScaleRequestMeasureAreaItem
+ && equalTo((DocPagesSetScaleRequestMeasureAreaItem) other);
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ private boolean equalTo(DocPagesSetScaleRequestMeasureAreaItem other) {
+ return unit.equals(other.unit)
+ && conversion == other.conversion
+ && fraction.equals(other.fraction)
+ && precision.equals(other.precision)
+ && fixed.equals(other.fixed)
+ && thousands.equals(other.thousands)
+ && decimal.equals(other.decimal)
+ && prefixSpacing.equals(other.prefixSpacing)
+ && suffixSpacing.equals(other.suffixSpacing)
+ && labelPosition.equals(other.labelPosition);
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return Objects.hash(
+ this.unit,
+ this.conversion,
+ this.fraction,
+ this.precision,
+ this.fixed,
+ this.thousands,
+ this.decimal,
+ this.prefixSpacing,
+ this.suffixSpacing,
+ this.labelPosition);
+ }
+
+ @java.lang.Override
+ public String toString() {
+ return ObjectMappers.stringify(this);
+ }
+
+ public static UnitStage builder() {
+ return new Builder();
+ }
+
+ public interface UnitStage {
+ ConversionStage unit(@NotNull String unit);
+
+ Builder from(DocPagesSetScaleRequestMeasureAreaItem other);
+ }
+
+ public interface ConversionStage {
+ _FinalStage conversion(double conversion);
+ }
+
+ public interface _FinalStage {
+ DocPagesSetScaleRequestMeasureAreaItem build();
+
+ _FinalStage additionalProperty(String key, Object value);
+
+ _FinalStage additionalProperties(Map additionalProperties);
+
+ _FinalStage fraction(Optional fraction);
+
+ _FinalStage fraction(DocPagesSetScaleRequestMeasureAreaItemFraction fraction);
+
+ _FinalStage precision(Optional precision);
+
+ _FinalStage precision(Integer precision);
+
+ _FinalStage fixed(Optional fixed);
+
+ _FinalStage fixed(Boolean fixed);
+
+ _FinalStage thousands(Optional thousands);
+
+ _FinalStage thousands(String thousands);
+
+ _FinalStage decimal(Optional decimal);
+
+ _FinalStage decimal(String decimal);
+
+ _FinalStage prefixSpacing(Optional prefixSpacing);
+
+ _FinalStage prefixSpacing(String prefixSpacing);
+
+ _FinalStage suffixSpacing(Optional suffixSpacing);
+
+ _FinalStage suffixSpacing(String suffixSpacing);
+
+ _FinalStage labelPosition(Optional labelPosition);
+
+ _FinalStage labelPosition(DocPagesSetScaleRequestMeasureAreaItemLabelPosition labelPosition);
+ }
+
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ public static final class Builder implements UnitStage, ConversionStage, _FinalStage {
+ private String unit;
+
+ private double conversion;
+
+ private Optional labelPosition = Optional.empty();
+
+ private Optional suffixSpacing = Optional.empty();
+
+ private Optional prefixSpacing = Optional.empty();
+
+ private Optional decimal = Optional.empty();
+
+ private Optional thousands = Optional.empty();
+
+ private Optional fixed = Optional.empty();
+
+ private Optional precision = Optional.empty();
+
+ private Optional fraction = Optional.empty();
+
+ @JsonAnySetter
+ private Map additionalProperties = new HashMap<>();
+
+ private Builder() {}
+
+ @java.lang.Override
+ public Builder from(DocPagesSetScaleRequestMeasureAreaItem other) {
+ unit(other.getUnit());
+ conversion(other.getConversion());
+ fraction(other.getFraction());
+ precision(other.getPrecision());
+ fixed(other.getFixed());
+ thousands(other.getThousands());
+ decimal(other.getDecimal());
+ prefixSpacing(other.getPrefixSpacing());
+ suffixSpacing(other.getSuffixSpacing());
+ labelPosition(other.getLabelPosition());
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter("unit")
+ public ConversionStage unit(@NotNull String unit) {
+ this.unit = Objects.requireNonNull(unit, "unit must not be null");
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter("conversion")
+ public _FinalStage conversion(double conversion) {
+ this.conversion = conversion;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage labelPosition(DocPagesSetScaleRequestMeasureAreaItemLabelPosition labelPosition) {
+ this.labelPosition = Optional.ofNullable(labelPosition);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "labelPosition", nulls = Nulls.SKIP)
+ public _FinalStage labelPosition(Optional labelPosition) {
+ this.labelPosition = labelPosition;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage suffixSpacing(String suffixSpacing) {
+ this.suffixSpacing = Optional.ofNullable(suffixSpacing);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "suffixSpacing", nulls = Nulls.SKIP)
+ public _FinalStage suffixSpacing(Optional suffixSpacing) {
+ this.suffixSpacing = suffixSpacing;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage prefixSpacing(String prefixSpacing) {
+ this.prefixSpacing = Optional.ofNullable(prefixSpacing);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "prefixSpacing", nulls = Nulls.SKIP)
+ public _FinalStage prefixSpacing(Optional prefixSpacing) {
+ this.prefixSpacing = prefixSpacing;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage decimal(String decimal) {
+ this.decimal = Optional.ofNullable(decimal);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "decimal", nulls = Nulls.SKIP)
+ public _FinalStage decimal(Optional decimal) {
+ this.decimal = decimal;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage thousands(String thousands) {
+ this.thousands = Optional.ofNullable(thousands);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "thousands", nulls = Nulls.SKIP)
+ public _FinalStage thousands(Optional thousands) {
+ this.thousands = thousands;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage fixed(Boolean fixed) {
+ this.fixed = Optional.ofNullable(fixed);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "fixed", nulls = Nulls.SKIP)
+ public _FinalStage fixed(Optional fixed) {
+ this.fixed = fixed;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage precision(Integer precision) {
+ this.precision = Optional.ofNullable(precision);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "precision", nulls = Nulls.SKIP)
+ public _FinalStage precision(Optional precision) {
+ this.precision = precision;
+ return this;
+ }
+
+ @java.lang.Override
+ public _FinalStage fraction(DocPagesSetScaleRequestMeasureAreaItemFraction fraction) {
+ this.fraction = Optional.ofNullable(fraction);
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter(value = "fraction", nulls = Nulls.SKIP)
+ public _FinalStage fraction(Optional fraction) {
+ this.fraction = fraction;
+ return this;
+ }
+
+ @java.lang.Override
+ public DocPagesSetScaleRequestMeasureAreaItem build() {
+ return new DocPagesSetScaleRequestMeasureAreaItem(
+ unit,
+ conversion,
+ fraction,
+ precision,
+ fixed,
+ thousands,
+ decimal,
+ prefixSpacing,
+ suffixSpacing,
+ labelPosition,
+ additionalProperties);
+ }
+
+ @java.lang.Override
+ public Builder additionalProperty(String key, Object value) {
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ @java.lang.Override
+ public Builder additionalProperties(Map additionalProperties) {
+ this.additionalProperties.putAll(additionalProperties);
+ return this;
+ }
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItemFraction.java b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItemFraction.java
new file mode 100644
index 0000000..89ac270
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItemFraction.java
@@ -0,0 +1,108 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.types;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+public final class DocPagesSetScaleRequestMeasureAreaItemFraction {
+ public static final DocPagesSetScaleRequestMeasureAreaItemFraction TRUNCATE =
+ new DocPagesSetScaleRequestMeasureAreaItemFraction(Value.TRUNCATE, "truncate");
+
+ public static final DocPagesSetScaleRequestMeasureAreaItemFraction DECIMAL =
+ new DocPagesSetScaleRequestMeasureAreaItemFraction(Value.DECIMAL, "decimal");
+
+ public static final DocPagesSetScaleRequestMeasureAreaItemFraction ROUND =
+ new DocPagesSetScaleRequestMeasureAreaItemFraction(Value.ROUND, "round");
+
+ public static final DocPagesSetScaleRequestMeasureAreaItemFraction FRACTION =
+ new DocPagesSetScaleRequestMeasureAreaItemFraction(Value.FRACTION, "fraction");
+
+ private final Value value;
+
+ private final String string;
+
+ DocPagesSetScaleRequestMeasureAreaItemFraction(Value value, String string) {
+ this.value = value;
+ this.string = string;
+ }
+
+ public Value getEnumValue() {
+ return value;
+ }
+
+ @java.lang.Override
+ @JsonValue
+ public String toString() {
+ return this.string;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ return (this == other)
+ || (other instanceof DocPagesSetScaleRequestMeasureAreaItemFraction
+ && this.string.equals(((DocPagesSetScaleRequestMeasureAreaItemFraction) other).string));
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return this.string.hashCode();
+ }
+
+ public T visit(Visitor visitor) {
+ switch (value) {
+ case TRUNCATE:
+ return visitor.visitTruncate();
+ case DECIMAL:
+ return visitor.visitDecimal();
+ case ROUND:
+ return visitor.visitRound();
+ case FRACTION:
+ return visitor.visitFraction();
+ case UNKNOWN:
+ default:
+ return visitor.visitUnknown(string);
+ }
+ }
+
+ @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
+ public static DocPagesSetScaleRequestMeasureAreaItemFraction valueOf(String value) {
+ switch (value) {
+ case "truncate":
+ return TRUNCATE;
+ case "decimal":
+ return DECIMAL;
+ case "round":
+ return ROUND;
+ case "fraction":
+ return FRACTION;
+ default:
+ return new DocPagesSetScaleRequestMeasureAreaItemFraction(Value.UNKNOWN, value);
+ }
+ }
+
+ public enum Value {
+ DECIMAL,
+
+ FRACTION,
+
+ ROUND,
+
+ TRUNCATE,
+
+ UNKNOWN
+ }
+
+ public interface Visitor {
+ T visitDecimal();
+
+ T visitFraction();
+
+ T visitRound();
+
+ T visitTruncate();
+
+ T visitUnknown(String unknownType);
+ }
+}
diff --git a/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItemLabelPosition.java b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItemLabelPosition.java
new file mode 100644
index 0000000..a70e2a1
--- /dev/null
+++ b/src/main/java/api/resources/doc/pages/types/DocPagesSetScaleRequestMeasureAreaItemLabelPosition.java
@@ -0,0 +1,86 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.cloudpdf.api.resources.doc.pages.types;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+public final class DocPagesSetScaleRequestMeasureAreaItemLabelPosition {
+ public static final DocPagesSetScaleRequestMeasureAreaItemLabelPosition PREFIX =
+ new DocPagesSetScaleRequestMeasureAreaItemLabelPosition(Value.PREFIX, "prefix");
+
+ public static final DocPagesSetScaleRequestMeasureAreaItemLabelPosition SUFFIX =
+ new DocPagesSetScaleRequestMeasureAreaItemLabelPosition(Value.SUFFIX, "suffix");
+
+ private final Value value;
+
+ private final String string;
+
+ DocPagesSetScaleRequestMeasureAreaItemLabelPosition(Value value, String string) {
+ this.value = value;
+ this.string = string;
+ }
+
+ public Value getEnumValue() {
+ return value;
+ }
+
+ @java.lang.Override
+ @JsonValue
+ public String toString() {
+ return this.string;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ return (this == other)
+ || (other instanceof DocPagesSetScaleRequestMeasureAreaItemLabelPosition
+ && this.string.equals(((DocPagesSetScaleRequestMeasureAreaItemLabelPosition) other).string));
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return this.string.hashCode();
+ }
+
+ public T visit(Visitor visitor) {
+ switch (value) {
+ case PREFIX:
+ return visitor.visitPrefix();
+ case SUFFIX:
+ return visitor.visitSuffix();
+ case UNKNOWN:
+ default:
+ return visitor.visitUnknown(string);
+ }
+ }
+
+ @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
+ public static DocPagesSetScaleRequestMeasureAreaItemLabelPosition valueOf(String value) {
+ switch (value) {
+ case "prefix":
+ return PREFIX;
+ case "suffix":
+ return SUFFIX;
+ default:
+ return new DocPagesSetScaleRequestMeasureAreaItemLabelPosition(Value.UNKNOWN, value);
+ }
+ }
+
+ public enum Value {
+ SUFFIX,
+
+ PREFIX,
+
+ UNKNOWN
+ }
+
+ public interface Visitor