// @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;
}
}