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