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