// @formatter:off /* * Unlicensed, generated by javafx.ftl */ package javafx.scene.shape; /** * {@link CubicCurve}建構器。 * * @author JarReflectionDataLoader-1.0.0 * @version jfxrt.jar * @param <Z> 要建構的物件型態(需繼承{@link CubicCurve}) * @param <B> 建構器本身的型態(需繼承{@link CubicCurveMaker}) */ @javax.annotation.Generated("Generated by javafx.ftl") @SuppressWarnings("all") public class CubicCurveMaker<Z extends CubicCurve, B extends CubicCurveMaker<Z, B>> extends javafx.scene.shape.ShapeMaker<Z, B> implements CubicCurveMakerExt<Z, B> { private boolean hasControlX1; private double valControlX1; private boolean hasControlX2; private double valControlX2; private boolean hasControlY1; private double valControlY1; private boolean hasControlY2; private double valControlY2; private boolean hasEndX; private double valEndX; private boolean hasEndY; private double valEndY; private boolean hasStartX; private double valStartX; private boolean hasStartY; private double valStartY; private boolean bound1ControlX1; private boolean bound2ControlX1; private javafx.beans.value.ObservableValue<? extends Number> obsrv1ControlX1; private javafx.beans.property.Property<Number> obsrv2ControlX1; private boolean bound1ControlX2; private boolean bound2ControlX2; private javafx.beans.value.ObservableValue<? extends Number> obsrv1ControlX2; private javafx.beans.property.Property<Number> obsrv2ControlX2; private boolean bound1ControlY1; private boolean bound2ControlY1; private javafx.beans.value.ObservableValue<? extends Number> obsrv1ControlY1; private javafx.beans.property.Property<Number> obsrv2ControlY1; private boolean bound1ControlY2; private boolean bound2ControlY2; private javafx.beans.value.ObservableValue<? extends Number> obsrv1ControlY2; private javafx.beans.property.Property<Number> obsrv2ControlY2; private boolean bound1EndX; private boolean bound2EndX; private javafx.beans.value.ObservableValue<? extends Number> obsrv1EndX; private javafx.beans.property.Property<Number> obsrv2EndX; private boolean bound1EndY; private boolean bound2EndY; private javafx.beans.value.ObservableValue<? extends Number> obsrv1EndY; private javafx.beans.property.Property<Number> obsrv2EndY; private boolean bound1StartX; private boolean bound2StartX; private javafx.beans.value.ObservableValue<? extends Number> obsrv1StartX; private javafx.beans.property.Property<Number> obsrv2StartX; private boolean bound1StartY; private boolean bound2StartY; private javafx.beans.value.ObservableValue<? extends Number> obsrv1StartY; private javafx.beans.property.Property<Number> obsrv2StartY; @Override public void applyTo(Z instance) { super.applyTo(instance); if (this.hasControlX1) instance.setControlX1(this.valControlX1); if (this.hasControlX2) instance.setControlX2(this.valControlX2); if (this.hasControlY1) instance.setControlY1(this.valControlY1); if (this.hasControlY2) instance.setControlY2(this.valControlY2); if (this.hasEndX) instance.setEndX(this.valEndX); if (this.hasEndY) instance.setEndY(this.valEndY); if (this.hasStartX) instance.setStartX(this.valStartX); if (this.hasStartY) instance.setStartY(this.valStartY); if (this.bound1ControlX1) instance.controlX1Property().bind(this.obsrv1ControlX1); if (this.bound2ControlX1) instance.controlX1Property().bindBidirectional(this.obsrv2ControlX1); if (this.bound1ControlX2) instance.controlX2Property().bind(this.obsrv1ControlX2); if (this.bound2ControlX2) instance.controlX2Property().bindBidirectional(this.obsrv2ControlX2); if (this.bound1ControlY1) instance.controlY1Property().bind(this.obsrv1ControlY1); if (this.bound2ControlY1) instance.controlY1Property().bindBidirectional(this.obsrv2ControlY1); if (this.bound1ControlY2) instance.controlY2Property().bind(this.obsrv1ControlY2); if (this.bound2ControlY2) instance.controlY2Property().bindBidirectional(this.obsrv2ControlY2); if (this.bound1EndX) instance.endXProperty().bind(this.obsrv1EndX); if (this.bound2EndX) instance.endXProperty().bindBidirectional(this.obsrv2EndX); if (this.bound1EndY) instance.endYProperty().bind(this.obsrv1EndY); if (this.bound2EndY) instance.endYProperty().bindBidirectional(this.obsrv2EndY); if (this.bound1StartX) instance.startXProperty().bind(this.obsrv1StartX); if (this.bound2StartX) instance.startXProperty().bindBidirectional(this.obsrv2StartX); if (this.bound1StartY) instance.startYProperty().bind(this.obsrv1StartY); if (this.bound2StartY) instance.startYProperty().bindBidirectional(this.obsrv2StartY); } /** * 設定屬性{@link CubicCurve#setControlX1(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B controlX1(double value) { this.hasControlX1 = true; this.valControlX1 = value; return (B) this; } /** * 設定屬性{@link CubicCurve#setControlX2(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B controlX2(double value) { this.hasControlX2 = true; this.valControlX2 = value; return (B) this; } /** * 設定屬性{@link CubicCurve#setControlY1(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B controlY1(double value) { this.hasControlY1 = true; this.valControlY1 = value; return (B) this; } /** * 設定屬性{@link CubicCurve#setControlY2(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B controlY2(double value) { this.hasControlY2 = true; this.valControlY2 = value; return (B) this; } /** * 設定屬性{@link CubicCurve#setEndX(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B endX(double value) { this.hasEndX = true; this.valEndX = value; return (B) this; } /** * 設定屬性{@link CubicCurve#setEndY(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B endY(double value) { this.hasEndY = true; this.valEndY = value; return (B) this; } /** * 設定屬性{@link CubicCurve#setStartX(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B startX(double value) { this.hasStartX = true; this.valStartX = value; return (B) this; } /** * 設定屬性{@link CubicCurve#setStartY(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B startY(double value) { this.hasStartY = true; this.valStartY = value; return (B) this; } /** * 設定屬性{@link CubicCurve#controlX1Property}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindControlX1(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlX1 = true; this.obsrv1ControlX1 = source; this.bound2ControlX1 = false; this.obsrv2ControlX1 = null; return (B) this; } /** * 設定屬性{@link CubicCurve#controlX1Property}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalControlX1(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlX1 = false; this.obsrv1ControlX1 = null; this.bound2ControlX1 = true; this.obsrv2ControlX1 = source; return (B) this; } /** * 設定屬性{@link CubicCurve#controlX2Property}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindControlX2(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlX2 = true; this.obsrv1ControlX2 = source; this.bound2ControlX2 = false; this.obsrv2ControlX2 = null; return (B) this; } /** * 設定屬性{@link CubicCurve#controlX2Property}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalControlX2(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlX2 = false; this.obsrv1ControlX2 = null; this.bound2ControlX2 = true; this.obsrv2ControlX2 = source; return (B) this; } /** * 設定屬性{@link CubicCurve#controlY1Property}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindControlY1(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlY1 = true; this.obsrv1ControlY1 = source; this.bound2ControlY1 = false; this.obsrv2ControlY1 = null; return (B) this; } /** * 設定屬性{@link CubicCurve#controlY1Property}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalControlY1(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlY1 = false; this.obsrv1ControlY1 = null; this.bound2ControlY1 = true; this.obsrv2ControlY1 = source; return (B) this; } /** * 設定屬性{@link CubicCurve#controlY2Property}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindControlY2(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlY2 = true; this.obsrv1ControlY2 = source; this.bound2ControlY2 = false; this.obsrv2ControlY2 = null; return (B) this; } /** * 設定屬性{@link CubicCurve#controlY2Property}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalControlY2(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1ControlY2 = false; this.obsrv1ControlY2 = null; this.bound2ControlY2 = true; this.obsrv2ControlY2 = source; return (B) this; } /** * 設定屬性{@link CubicCurve#endXProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindEndX(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1EndX = true; this.obsrv1EndX = source; this.bound2EndX = false; this.obsrv2EndX = null; return (B) this; } /** * 設定屬性{@link CubicCurve#endXProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalEndX(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1EndX = false; this.obsrv1EndX = null; this.bound2EndX = true; this.obsrv2EndX = source; return (B) this; } /** * 設定屬性{@link CubicCurve#endYProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindEndY(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1EndY = true; this.obsrv1EndY = source; this.bound2EndY = false; this.obsrv2EndY = null; return (B) this; } /** * 設定屬性{@link CubicCurve#endYProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalEndY(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1EndY = false; this.obsrv1EndY = null; this.bound2EndY = true; this.obsrv2EndY = source; return (B) this; } /** * 設定屬性{@link CubicCurve#startXProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindStartX(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1StartX = true; this.obsrv1StartX = source; this.bound2StartX = false; this.obsrv2StartX = null; return (B) this; } /** * 設定屬性{@link CubicCurve#startXProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalStartX(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1StartX = false; this.obsrv1StartX = null; this.bound2StartX = true; this.obsrv2StartX = source; return (B) this; } /** * 設定屬性{@link CubicCurve#startYProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindStartY(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1StartY = true; this.obsrv1StartY = source; this.bound2StartY = false; this.obsrv2StartY = null; return (B) this; } /** * 設定屬性{@link CubicCurve#startYProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalStartY(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1StartY = false; this.obsrv1StartY = null; this.bound2StartY = true; this.obsrv2StartY = source; return (B) this; } /** * 建構{@link CubicCurve}物件。 * * @return 新的{@link CubicCurve}物件實體 */ @Override @SuppressWarnings("unchecked") public CubicCurve build() { CubicCurve instance = new CubicCurve(); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } /** * 建構{@link CubicCurve}物件。 * * @return 新的{@link CubicCurve}物件實體 */ @SuppressWarnings("unchecked") public CubicCurve build(double arg0, double arg1, double arg2, double arg3, double arg4, double arg5, double arg6, double arg7) { CubicCurve instance = new CubicCurve(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } }