// @formatter:off /* * Unlicensed, generated by javafx.ftl */ package javafx.scene.shape; /** * {@link Arc}建構器。 * * @author JarReflectionDataLoader-1.0.0 * @version jfxrt.jar * @param <Z> 要建構的物件型態(需繼承{@link Arc}) * @param <B> 建構器本身的型態(需繼承{@link ArcMaker}) */ @javax.annotation.Generated("Generated by javafx.ftl") @SuppressWarnings("all") public class ArcMaker<Z extends Arc, B extends ArcMaker<Z, B>> extends javafx.scene.shape.ShapeMaker<Z, B> implements ArcMakerExt<Z, B> { private boolean hasCenterX; private double valCenterX; private boolean hasCenterY; private double valCenterY; private boolean hasLength; private double valLength; private boolean hasRadiusX; private double valRadiusX; private boolean hasRadiusY; private double valRadiusY; private boolean hasStartAngle; private double valStartAngle; private boolean hasType; private javafx.scene.shape.ArcType valType; private boolean bound1CenterX; private boolean bound2CenterX; private javafx.beans.value.ObservableValue<? extends Number> obsrv1CenterX; private javafx.beans.property.Property<Number> obsrv2CenterX; private boolean bound1CenterY; private boolean bound2CenterY; private javafx.beans.value.ObservableValue<? extends Number> obsrv1CenterY; private javafx.beans.property.Property<Number> obsrv2CenterY; private boolean bound1Length; private boolean bound2Length; private javafx.beans.value.ObservableValue<? extends Number> obsrv1Length; private javafx.beans.property.Property<Number> obsrv2Length; private boolean bound1RadiusX; private boolean bound2RadiusX; private javafx.beans.value.ObservableValue<? extends Number> obsrv1RadiusX; private javafx.beans.property.Property<Number> obsrv2RadiusX; private boolean bound1RadiusY; private boolean bound2RadiusY; private javafx.beans.value.ObservableValue<? extends Number> obsrv1RadiusY; private javafx.beans.property.Property<Number> obsrv2RadiusY; private boolean bound1StartAngle; private boolean bound2StartAngle; private javafx.beans.value.ObservableValue<? extends Number> obsrv1StartAngle; private javafx.beans.property.Property<Number> obsrv2StartAngle; private boolean bound1Type; private boolean bound2Type; private javafx.beans.value.ObservableValue<? extends javafx.scene.shape.ArcType> obsrv1Type; private javafx.beans.property.Property<javafx.scene.shape.ArcType> obsrv2Type; @Override public void applyTo(Z instance) { super.applyTo(instance); if (this.hasCenterX) instance.setCenterX(this.valCenterX); if (this.hasCenterY) instance.setCenterY(this.valCenterY); if (this.hasLength) instance.setLength(this.valLength); if (this.hasRadiusX) instance.setRadiusX(this.valRadiusX); if (this.hasRadiusY) instance.setRadiusY(this.valRadiusY); if (this.hasStartAngle) instance.setStartAngle(this.valStartAngle); if (this.hasType) instance.setType(this.valType); if (this.bound1CenterX) instance.centerXProperty().bind(this.obsrv1CenterX); if (this.bound2CenterX) instance.centerXProperty().bindBidirectional(this.obsrv2CenterX); if (this.bound1CenterY) instance.centerYProperty().bind(this.obsrv1CenterY); if (this.bound2CenterY) instance.centerYProperty().bindBidirectional(this.obsrv2CenterY); if (this.bound1Length) instance.lengthProperty().bind(this.obsrv1Length); if (this.bound2Length) instance.lengthProperty().bindBidirectional(this.obsrv2Length); if (this.bound1RadiusX) instance.radiusXProperty().bind(this.obsrv1RadiusX); if (this.bound2RadiusX) instance.radiusXProperty().bindBidirectional(this.obsrv2RadiusX); if (this.bound1RadiusY) instance.radiusYProperty().bind(this.obsrv1RadiusY); if (this.bound2RadiusY) instance.radiusYProperty().bindBidirectional(this.obsrv2RadiusY); if (this.bound1StartAngle) instance.startAngleProperty().bind(this.obsrv1StartAngle); if (this.bound2StartAngle) instance.startAngleProperty().bindBidirectional(this.obsrv2StartAngle); if (this.bound1Type) instance.typeProperty().bind(this.obsrv1Type); if (this.bound2Type) instance.typeProperty().bindBidirectional(this.obsrv2Type); } /** * 設定屬性{@link Arc#setCenterX(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B centerX(double value) { this.hasCenterX = true; this.valCenterX = value; return (B) this; } /** * 設定屬性{@link Arc#setCenterY(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B centerY(double value) { this.hasCenterY = true; this.valCenterY = value; return (B) this; } /** * 設定屬性{@link Arc#setLength(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B length(double value) { this.hasLength = true; this.valLength = value; return (B) this; } /** * 設定屬性{@link Arc#setRadiusX(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B radiusX(double value) { this.hasRadiusX = true; this.valRadiusX = value; return (B) this; } /** * 設定屬性{@link Arc#setRadiusY(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B radiusY(double value) { this.hasRadiusY = true; this.valRadiusY = value; return (B) this; } /** * 設定屬性{@link Arc#setStartAngle(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B startAngle(double value) { this.hasStartAngle = true; this.valStartAngle = value; return (B) this; } /** * 設定屬性{@link Arc#setType(javafx.scene.shape.ArcType)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B type(javafx.scene.shape.ArcType value) { this.hasType = true; this.valType = value; return (B) this; } /** * 設定屬性{@link Arc#centerXProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindCenterX(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1CenterX = true; this.obsrv1CenterX = source; this.bound2CenterX = false; this.obsrv2CenterX = null; return (B) this; } /** * 設定屬性{@link Arc#centerXProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalCenterX(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1CenterX = false; this.obsrv1CenterX = null; this.bound2CenterX = true; this.obsrv2CenterX = source; return (B) this; } /** * 設定屬性{@link Arc#centerYProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindCenterY(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1CenterY = true; this.obsrv1CenterY = source; this.bound2CenterY = false; this.obsrv2CenterY = null; return (B) this; } /** * 設定屬性{@link Arc#centerYProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalCenterY(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1CenterY = false; this.obsrv1CenterY = null; this.bound2CenterY = true; this.obsrv2CenterY = source; return (B) this; } /** * 設定屬性{@link Arc#lengthProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindLength(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1Length = true; this.obsrv1Length = source; this.bound2Length = false; this.obsrv2Length = null; return (B) this; } /** * 設定屬性{@link Arc#lengthProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalLength(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1Length = false; this.obsrv1Length = null; this.bound2Length = true; this.obsrv2Length = source; return (B) this; } /** * 設定屬性{@link Arc#radiusXProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindRadiusX(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1RadiusX = true; this.obsrv1RadiusX = source; this.bound2RadiusX = false; this.obsrv2RadiusX = null; return (B) this; } /** * 設定屬性{@link Arc#radiusXProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalRadiusX(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1RadiusX = false; this.obsrv1RadiusX = null; this.bound2RadiusX = true; this.obsrv2RadiusX = source; return (B) this; } /** * 設定屬性{@link Arc#radiusYProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindRadiusY(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1RadiusY = true; this.obsrv1RadiusY = source; this.bound2RadiusY = false; this.obsrv2RadiusY = null; return (B) this; } /** * 設定屬性{@link Arc#radiusYProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalRadiusY(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1RadiusY = false; this.obsrv1RadiusY = null; this.bound2RadiusY = true; this.obsrv2RadiusY = source; return (B) this; } /** * 設定屬性{@link Arc#startAngleProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindStartAngle(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1StartAngle = true; this.obsrv1StartAngle = source; this.bound2StartAngle = false; this.obsrv2StartAngle = null; return (B) this; } /** * 設定屬性{@link Arc#startAngleProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalStartAngle(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1StartAngle = false; this.obsrv1StartAngle = null; this.bound2StartAngle = true; this.obsrv2StartAngle = source; return (B) this; } /** * 設定屬性{@link Arc#typeProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindType(javafx.beans.value.ObservableValue<? extends javafx.scene.shape.ArcType> source) { java.util.Objects.requireNonNull(source); this.bound1Type = true; this.obsrv1Type = source; this.bound2Type = false; this.obsrv2Type = null; return (B) this; } /** * 設定屬性{@link Arc#typeProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalType(javafx.beans.property.Property<javafx.scene.shape.ArcType> source) { java.util.Objects.requireNonNull(source); this.bound1Type = false; this.obsrv1Type = null; this.bound2Type = true; this.obsrv2Type = source; return (B) this; } /** * 建構{@link Arc}物件。 * * @return 新的{@link Arc}物件實體 */ @Override @SuppressWarnings("unchecked") public Arc build() { Arc instance = new Arc(); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } /** * 建構{@link Arc}物件。 * * @return 新的{@link Arc}物件實體 */ @SuppressWarnings("unchecked") public Arc build(double arg0, double arg1, double arg2, double arg3, double arg4, double arg5) { Arc instance = new Arc(arg0, arg1, arg2, arg3, arg4, arg5); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } }