// @formatter:off /* * Unlicensed, generated by javafx.ftl */ package javafx.scene.effect; /** * {@link Light.Spot}建構器。 * * @author JarReflectionDataLoader-1.0.0 * @version jfxrt.jar * @param <Z> 要建構的物件型態(需繼承{@link Light.Spot}) * @param <B> 建構器本身的型態(需繼承{@link Light.SpotMaker}) */ @javax.annotation.Generated("Generated by javafx.ftl") @SuppressWarnings("all") public class Light_SpotMaker<Z extends Light.Spot, B extends Light_SpotMaker<Z, B>> extends javafx.scene.effect.Light_PointMaker<Z, B> implements Light_SpotMakerExt<Z, B> { private boolean hasPointsAtX; private double valPointsAtX; private boolean hasPointsAtY; private double valPointsAtY; private boolean hasPointsAtZ; private double valPointsAtZ; private boolean hasSpecularExponent; private double valSpecularExponent; private boolean bound1PointsAtX; private boolean bound2PointsAtX; private javafx.beans.value.ObservableValue<? extends Number> obsrv1PointsAtX; private javafx.beans.property.Property<Number> obsrv2PointsAtX; private boolean bound1PointsAtY; private boolean bound2PointsAtY; private javafx.beans.value.ObservableValue<? extends Number> obsrv1PointsAtY; private javafx.beans.property.Property<Number> obsrv2PointsAtY; private boolean bound1PointsAtZ; private boolean bound2PointsAtZ; private javafx.beans.value.ObservableValue<? extends Number> obsrv1PointsAtZ; private javafx.beans.property.Property<Number> obsrv2PointsAtZ; private boolean bound1SpecularExponent; private boolean bound2SpecularExponent; private javafx.beans.value.ObservableValue<? extends Number> obsrv1SpecularExponent; private javafx.beans.property.Property<Number> obsrv2SpecularExponent; @Override public void applyTo(Z instance) { super.applyTo(instance); if (this.hasPointsAtX) instance.setPointsAtX(this.valPointsAtX); if (this.hasPointsAtY) instance.setPointsAtY(this.valPointsAtY); if (this.hasPointsAtZ) instance.setPointsAtZ(this.valPointsAtZ); if (this.hasSpecularExponent) instance.setSpecularExponent(this.valSpecularExponent); if (this.bound1PointsAtX) instance.pointsAtXProperty().bind(this.obsrv1PointsAtX); if (this.bound2PointsAtX) instance.pointsAtXProperty().bindBidirectional(this.obsrv2PointsAtX); if (this.bound1PointsAtY) instance.pointsAtYProperty().bind(this.obsrv1PointsAtY); if (this.bound2PointsAtY) instance.pointsAtYProperty().bindBidirectional(this.obsrv2PointsAtY); if (this.bound1PointsAtZ) instance.pointsAtZProperty().bind(this.obsrv1PointsAtZ); if (this.bound2PointsAtZ) instance.pointsAtZProperty().bindBidirectional(this.obsrv2PointsAtZ); if (this.bound1SpecularExponent) instance.specularExponentProperty().bind(this.obsrv1SpecularExponent); if (this.bound2SpecularExponent) instance.specularExponentProperty().bindBidirectional(this.obsrv2SpecularExponent); } /** * 設定屬性{@link Light.Spot#setPointsAtX(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B pointsAtX(double value) { this.hasPointsAtX = true; this.valPointsAtX = value; return (B) this; } /** * 設定屬性{@link Light.Spot#setPointsAtY(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B pointsAtY(double value) { this.hasPointsAtY = true; this.valPointsAtY = value; return (B) this; } /** * 設定屬性{@link Light.Spot#setPointsAtZ(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B pointsAtZ(double value) { this.hasPointsAtZ = true; this.valPointsAtZ = value; return (B) this; } /** * 設定屬性{@link Light.Spot#setSpecularExponent(double)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B specularExponent(double value) { this.hasSpecularExponent = true; this.valSpecularExponent = value; return (B) this; } /** * 設定屬性{@link Light.Spot#pointsAtXProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindPointsAtX(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1PointsAtX = true; this.obsrv1PointsAtX = source; this.bound2PointsAtX = false; this.obsrv2PointsAtX = null; return (B) this; } /** * 設定屬性{@link Light.Spot#pointsAtXProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalPointsAtX(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1PointsAtX = false; this.obsrv1PointsAtX = null; this.bound2PointsAtX = true; this.obsrv2PointsAtX = source; return (B) this; } /** * 設定屬性{@link Light.Spot#pointsAtYProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindPointsAtY(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1PointsAtY = true; this.obsrv1PointsAtY = source; this.bound2PointsAtY = false; this.obsrv2PointsAtY = null; return (B) this; } /** * 設定屬性{@link Light.Spot#pointsAtYProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalPointsAtY(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1PointsAtY = false; this.obsrv1PointsAtY = null; this.bound2PointsAtY = true; this.obsrv2PointsAtY = source; return (B) this; } /** * 設定屬性{@link Light.Spot#pointsAtZProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindPointsAtZ(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1PointsAtZ = true; this.obsrv1PointsAtZ = source; this.bound2PointsAtZ = false; this.obsrv2PointsAtZ = null; return (B) this; } /** * 設定屬性{@link Light.Spot#pointsAtZProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalPointsAtZ(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1PointsAtZ = false; this.obsrv1PointsAtZ = null; this.bound2PointsAtZ = true; this.obsrv2PointsAtZ = source; return (B) this; } /** * 設定屬性{@link Light.Spot#specularExponentProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindSpecularExponent(javafx.beans.value.ObservableValue<? extends Number> source) { java.util.Objects.requireNonNull(source); this.bound1SpecularExponent = true; this.obsrv1SpecularExponent = source; this.bound2SpecularExponent = false; this.obsrv2SpecularExponent = null; return (B) this; } /** * 設定屬性{@link Light.Spot#specularExponentProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalSpecularExponent(javafx.beans.property.Property<Number> source) { java.util.Objects.requireNonNull(source); this.bound1SpecularExponent = false; this.obsrv1SpecularExponent = null; this.bound2SpecularExponent = true; this.obsrv2SpecularExponent = source; return (B) this; } /** * 建構{@link Light.Spot}物件。 * * @return 新的{@link Light.Spot}物件實體 */ @Override @SuppressWarnings("unchecked") public Light.Spot build() { Light.Spot instance = new Light.Spot(); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } /** * 建構{@link Light.Spot}物件。 * * @return 新的{@link Light.Spot}物件實體 */ @SuppressWarnings("unchecked") public Light.Spot build(double arg0, double arg1, double arg2, double arg3, javafx.scene.paint.Color arg4) { Light.Spot instance = new Light.Spot(arg0, arg1, arg2, arg3, arg4); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } }