// @formatter:off
/*
* Unlicensed, generated by javafx.ftl
*/
package javafx.scene.effect;
/**
* {@link Lighting}建構器。
*
* @author JarReflectionDataLoader-1.0.0
* @version jfxrt.jar
* @param <Z> 要建構的物件型態(需繼承{@link Lighting})
* @param <B> 建構器本身的型態(需繼承{@link LightingMaker})
*/
@javax.annotation.Generated("Generated by javafx.ftl")
@SuppressWarnings("all")
public class LightingMaker<Z extends Lighting, B extends LightingMaker<Z, B>>
extends javafx.scene.effect.EffectMaker<Z, B>
implements LightingMakerExt<Z, B>
{
private boolean hasBumpInput;
private javafx.scene.effect.Effect valBumpInput;
private boolean hasContentInput;
private javafx.scene.effect.Effect valContentInput;
private boolean hasDiffuseConstant;
private double valDiffuseConstant;
private boolean hasLight;
private javafx.scene.effect.Light valLight;
private boolean hasSpecularConstant;
private double valSpecularConstant;
private boolean hasSpecularExponent;
private double valSpecularExponent;
private boolean hasSurfaceScale;
private double valSurfaceScale;
private boolean bound1BumpInput;
private boolean bound2BumpInput;
private javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Effect> obsrv1BumpInput;
private javafx.beans.property.Property<javafx.scene.effect.Effect> obsrv2BumpInput;
private boolean bound1ContentInput;
private boolean bound2ContentInput;
private javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Effect> obsrv1ContentInput;
private javafx.beans.property.Property<javafx.scene.effect.Effect> obsrv2ContentInput;
private boolean bound1DiffuseConstant;
private boolean bound2DiffuseConstant;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1DiffuseConstant;
private javafx.beans.property.Property<Number> obsrv2DiffuseConstant;
private boolean bound1Light;
private boolean bound2Light;
private javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Light> obsrv1Light;
private javafx.beans.property.Property<javafx.scene.effect.Light> obsrv2Light;
private boolean bound1SpecularConstant;
private boolean bound2SpecularConstant;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1SpecularConstant;
private javafx.beans.property.Property<Number> obsrv2SpecularConstant;
private boolean bound1SpecularExponent;
private boolean bound2SpecularExponent;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1SpecularExponent;
private javafx.beans.property.Property<Number> obsrv2SpecularExponent;
private boolean bound1SurfaceScale;
private boolean bound2SurfaceScale;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1SurfaceScale;
private javafx.beans.property.Property<Number> obsrv2SurfaceScale;
@Override
public void applyTo(Z instance)
{
super.applyTo(instance);
if (this.hasBumpInput)
instance.setBumpInput(this.valBumpInput);
if (this.hasContentInput)
instance.setContentInput(this.valContentInput);
if (this.hasDiffuseConstant)
instance.setDiffuseConstant(this.valDiffuseConstant);
if (this.hasLight)
instance.setLight(this.valLight);
if (this.hasSpecularConstant)
instance.setSpecularConstant(this.valSpecularConstant);
if (this.hasSpecularExponent)
instance.setSpecularExponent(this.valSpecularExponent);
if (this.hasSurfaceScale)
instance.setSurfaceScale(this.valSurfaceScale);
if (this.bound1BumpInput)
instance.bumpInputProperty().bind(this.obsrv1BumpInput);
if (this.bound2BumpInput)
instance.bumpInputProperty().bindBidirectional(this.obsrv2BumpInput);
if (this.bound1ContentInput)
instance.contentInputProperty().bind(this.obsrv1ContentInput);
if (this.bound2ContentInput)
instance.contentInputProperty().bindBidirectional(this.obsrv2ContentInput);
if (this.bound1DiffuseConstant)
instance.diffuseConstantProperty().bind(this.obsrv1DiffuseConstant);
if (this.bound2DiffuseConstant)
instance.diffuseConstantProperty().bindBidirectional(this.obsrv2DiffuseConstant);
if (this.bound1Light)
instance.lightProperty().bind(this.obsrv1Light);
if (this.bound2Light)
instance.lightProperty().bindBidirectional(this.obsrv2Light);
if (this.bound1SpecularConstant)
instance.specularConstantProperty().bind(this.obsrv1SpecularConstant);
if (this.bound2SpecularConstant)
instance.specularConstantProperty().bindBidirectional(this.obsrv2SpecularConstant);
if (this.bound1SpecularExponent)
instance.specularExponentProperty().bind(this.obsrv1SpecularExponent);
if (this.bound2SpecularExponent)
instance.specularExponentProperty().bindBidirectional(this.obsrv2SpecularExponent);
if (this.bound1SurfaceScale)
instance.surfaceScaleProperty().bind(this.obsrv1SurfaceScale);
if (this.bound2SurfaceScale)
instance.surfaceScaleProperty().bindBidirectional(this.obsrv2SurfaceScale);
}
/**
* 設定屬性{@link Lighting#setBumpInput(javafx.scene.effect.Effect)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B bumpInput(javafx.scene.effect.Effect value)
{
this.hasBumpInput = true;
this.valBumpInput = value;
return (B) this;
}
/**
* 設定屬性{@link Lighting#setContentInput(javafx.scene.effect.Effect)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B contentInput(javafx.scene.effect.Effect value)
{
this.hasContentInput = true;
this.valContentInput = value;
return (B) this;
}
/**
* 設定屬性{@link Lighting#setDiffuseConstant(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B diffuseConstant(double value)
{
this.hasDiffuseConstant = true;
this.valDiffuseConstant = value;
return (B) this;
}
/**
* 設定屬性{@link Lighting#setLight(javafx.scene.effect.Light)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B light(javafx.scene.effect.Light value)
{
this.hasLight = true;
this.valLight = value;
return (B) this;
}
/**
* 設定屬性{@link Lighting#setSpecularConstant(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B specularConstant(double value)
{
this.hasSpecularConstant = true;
this.valSpecularConstant = value;
return (B) this;
}
/**
* 設定屬性{@link Lighting#setSpecularExponent(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B specularExponent(double value)
{
this.hasSpecularExponent = true;
this.valSpecularExponent = value;
return (B) this;
}
/**
* 設定屬性{@link Lighting#setSurfaceScale(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B surfaceScale(double value)
{
this.hasSurfaceScale = true;
this.valSurfaceScale = value;
return (B) this;
}
/**
* 設定屬性{@link Lighting#bumpInputProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBumpInput(javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Effect> source)
{
java.util.Objects.requireNonNull(source);
this.bound1BumpInput = true;
this.obsrv1BumpInput = source;
this.bound2BumpInput = false;
this.obsrv2BumpInput = null;
return (B) this;
}
/**
* 設定屬性{@link Lighting#bumpInputProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalBumpInput(javafx.beans.property.Property<javafx.scene.effect.Effect> source)
{
java.util.Objects.requireNonNull(source);
this.bound1BumpInput = false;
this.obsrv1BumpInput = null;
this.bound2BumpInput = true;
this.obsrv2BumpInput = source;
return (B) this;
}
/**
* 設定屬性{@link Lighting#contentInputProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindContentInput(javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Effect> source)
{
java.util.Objects.requireNonNull(source);
this.bound1ContentInput = true;
this.obsrv1ContentInput = source;
this.bound2ContentInput = false;
this.obsrv2ContentInput = null;
return (B) this;
}
/**
* 設定屬性{@link Lighting#contentInputProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalContentInput(javafx.beans.property.Property<javafx.scene.effect.Effect> source)
{
java.util.Objects.requireNonNull(source);
this.bound1ContentInput = false;
this.obsrv1ContentInput = null;
this.bound2ContentInput = true;
this.obsrv2ContentInput = source;
return (B) this;
}
/**
* 設定屬性{@link Lighting#diffuseConstantProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindDiffuseConstant(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1DiffuseConstant = true;
this.obsrv1DiffuseConstant = source;
this.bound2DiffuseConstant = false;
this.obsrv2DiffuseConstant = null;
return (B) this;
}
/**
* 設定屬性{@link Lighting#diffuseConstantProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalDiffuseConstant(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1DiffuseConstant = false;
this.obsrv1DiffuseConstant = null;
this.bound2DiffuseConstant = true;
this.obsrv2DiffuseConstant = source;
return (B) this;
}
/**
* 設定屬性{@link Lighting#lightProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindLight(javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Light> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Light = true;
this.obsrv1Light = source;
this.bound2Light = false;
this.obsrv2Light = null;
return (B) this;
}
/**
* 設定屬性{@link Lighting#lightProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalLight(javafx.beans.property.Property<javafx.scene.effect.Light> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Light = false;
this.obsrv1Light = null;
this.bound2Light = true;
this.obsrv2Light = source;
return (B) this;
}
/**
* 設定屬性{@link Lighting#specularConstantProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindSpecularConstant(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1SpecularConstant = true;
this.obsrv1SpecularConstant = source;
this.bound2SpecularConstant = false;
this.obsrv2SpecularConstant = null;
return (B) this;
}
/**
* 設定屬性{@link Lighting#specularConstantProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalSpecularConstant(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1SpecularConstant = false;
this.obsrv1SpecularConstant = null;
this.bound2SpecularConstant = true;
this.obsrv2SpecularConstant = source;
return (B) this;
}
/**
* 設定屬性{@link Lighting#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 Lighting#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 Lighting#surfaceScaleProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindSurfaceScale(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1SurfaceScale = true;
this.obsrv1SurfaceScale = source;
this.bound2SurfaceScale = false;
this.obsrv2SurfaceScale = null;
return (B) this;
}
/**
* 設定屬性{@link Lighting#surfaceScaleProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalSurfaceScale(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1SurfaceScale = false;
this.obsrv1SurfaceScale = null;
this.bound2SurfaceScale = true;
this.obsrv2SurfaceScale = source;
return (B) this;
}
/**
* 建構{@link Lighting}物件。
*
* @return 新的{@link Lighting}物件實體
*/
@Override
@SuppressWarnings("unchecked")
public Lighting build()
{
Lighting instance = new Lighting();
this.applyTo((Z) instance);
this.doAfterBuild((Z) instance);
return instance;
}
/**
* 建構{@link Lighting}物件。
*
* @return 新的{@link Lighting}物件實體
*/
@SuppressWarnings("unchecked")
public Lighting build(javafx.scene.effect.Light arg0)
{
Lighting instance = new Lighting(arg0);
this.applyTo((Z) instance);
this.doAfterBuild((Z) instance);
return instance;
}
}