// @formatter:off
/*
* Unlicensed, generated by javafx.ftl
*/
package javafx.scene.effect;
/**
* {@link Reflection}建構器。
*
* @author JarReflectionDataLoader-1.0.0
* @version jfxrt.jar
* @param <Z> 要建構的物件型態(需繼承{@link Reflection})
* @param <B> 建構器本身的型態(需繼承{@link ReflectionMaker})
*/
@javax.annotation.Generated("Generated by javafx.ftl")
@SuppressWarnings("all")
public class ReflectionMaker<Z extends Reflection, B extends ReflectionMaker<Z, B>>
extends javafx.scene.effect.EffectMaker<Z, B>
implements ReflectionMakerExt<Z, B>
{
private boolean hasBottomOpacity;
private double valBottomOpacity;
private boolean hasFraction;
private double valFraction;
private boolean hasInput;
private javafx.scene.effect.Effect valInput;
private boolean hasTopOffset;
private double valTopOffset;
private boolean hasTopOpacity;
private double valTopOpacity;
private boolean bound1BottomOpacity;
private boolean bound2BottomOpacity;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1BottomOpacity;
private javafx.beans.property.Property<Number> obsrv2BottomOpacity;
private boolean bound1Fraction;
private boolean bound2Fraction;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1Fraction;
private javafx.beans.property.Property<Number> obsrv2Fraction;
private boolean bound1Input;
private boolean bound2Input;
private javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Effect> obsrv1Input;
private javafx.beans.property.Property<javafx.scene.effect.Effect> obsrv2Input;
private boolean bound1TopOffset;
private boolean bound2TopOffset;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1TopOffset;
private javafx.beans.property.Property<Number> obsrv2TopOffset;
private boolean bound1TopOpacity;
private boolean bound2TopOpacity;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1TopOpacity;
private javafx.beans.property.Property<Number> obsrv2TopOpacity;
@Override
public void applyTo(Z instance)
{
super.applyTo(instance);
if (this.hasBottomOpacity)
instance.setBottomOpacity(this.valBottomOpacity);
if (this.hasFraction)
instance.setFraction(this.valFraction);
if (this.hasInput)
instance.setInput(this.valInput);
if (this.hasTopOffset)
instance.setTopOffset(this.valTopOffset);
if (this.hasTopOpacity)
instance.setTopOpacity(this.valTopOpacity);
if (this.bound1BottomOpacity)
instance.bottomOpacityProperty().bind(this.obsrv1BottomOpacity);
if (this.bound2BottomOpacity)
instance.bottomOpacityProperty().bindBidirectional(this.obsrv2BottomOpacity);
if (this.bound1Fraction)
instance.fractionProperty().bind(this.obsrv1Fraction);
if (this.bound2Fraction)
instance.fractionProperty().bindBidirectional(this.obsrv2Fraction);
if (this.bound1Input)
instance.inputProperty().bind(this.obsrv1Input);
if (this.bound2Input)
instance.inputProperty().bindBidirectional(this.obsrv2Input);
if (this.bound1TopOffset)
instance.topOffsetProperty().bind(this.obsrv1TopOffset);
if (this.bound2TopOffset)
instance.topOffsetProperty().bindBidirectional(this.obsrv2TopOffset);
if (this.bound1TopOpacity)
instance.topOpacityProperty().bind(this.obsrv1TopOpacity);
if (this.bound2TopOpacity)
instance.topOpacityProperty().bindBidirectional(this.obsrv2TopOpacity);
}
/**
* 設定屬性{@link Reflection#setBottomOpacity(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B bottomOpacity(double value)
{
this.hasBottomOpacity = true;
this.valBottomOpacity = value;
return (B) this;
}
/**
* 設定屬性{@link Reflection#setFraction(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B fraction(double value)
{
this.hasFraction = true;
this.valFraction = value;
return (B) this;
}
/**
* 設定屬性{@link Reflection#setInput(javafx.scene.effect.Effect)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B input(javafx.scene.effect.Effect value)
{
this.hasInput = true;
this.valInput = value;
return (B) this;
}
/**
* 設定屬性{@link Reflection#setTopOffset(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B topOffset(double value)
{
this.hasTopOffset = true;
this.valTopOffset = value;
return (B) this;
}
/**
* 設定屬性{@link Reflection#setTopOpacity(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B topOpacity(double value)
{
this.hasTopOpacity = true;
this.valTopOpacity = value;
return (B) this;
}
/**
* 設定屬性{@link Reflection#bottomOpacityProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBottomOpacity(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1BottomOpacity = true;
this.obsrv1BottomOpacity = source;
this.bound2BottomOpacity = false;
this.obsrv2BottomOpacity = null;
return (B) this;
}
/**
* 設定屬性{@link Reflection#bottomOpacityProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalBottomOpacity(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1BottomOpacity = false;
this.obsrv1BottomOpacity = null;
this.bound2BottomOpacity = true;
this.obsrv2BottomOpacity = source;
return (B) this;
}
/**
* 設定屬性{@link Reflection#fractionProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindFraction(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Fraction = true;
this.obsrv1Fraction = source;
this.bound2Fraction = false;
this.obsrv2Fraction = null;
return (B) this;
}
/**
* 設定屬性{@link Reflection#fractionProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalFraction(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Fraction = false;
this.obsrv1Fraction = null;
this.bound2Fraction = true;
this.obsrv2Fraction = source;
return (B) this;
}
/**
* 設定屬性{@link Reflection#inputProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindInput(javafx.beans.value.ObservableValue<? extends javafx.scene.effect.Effect> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Input = true;
this.obsrv1Input = source;
this.bound2Input = false;
this.obsrv2Input = null;
return (B) this;
}
/**
* 設定屬性{@link Reflection#inputProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalInput(javafx.beans.property.Property<javafx.scene.effect.Effect> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Input = false;
this.obsrv1Input = null;
this.bound2Input = true;
this.obsrv2Input = source;
return (B) this;
}
/**
* 設定屬性{@link Reflection#topOffsetProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindTopOffset(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1TopOffset = true;
this.obsrv1TopOffset = source;
this.bound2TopOffset = false;
this.obsrv2TopOffset = null;
return (B) this;
}
/**
* 設定屬性{@link Reflection#topOffsetProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalTopOffset(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1TopOffset = false;
this.obsrv1TopOffset = null;
this.bound2TopOffset = true;
this.obsrv2TopOffset = source;
return (B) this;
}
/**
* 設定屬性{@link Reflection#topOpacityProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindTopOpacity(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1TopOpacity = true;
this.obsrv1TopOpacity = source;
this.bound2TopOpacity = false;
this.obsrv2TopOpacity = null;
return (B) this;
}
/**
* 設定屬性{@link Reflection#topOpacityProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalTopOpacity(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1TopOpacity = false;
this.obsrv1TopOpacity = null;
this.bound2TopOpacity = true;
this.obsrv2TopOpacity = source;
return (B) this;
}
/**
* 建構{@link Reflection}物件。
*
* @return 新的{@link Reflection}物件實體
*/
@Override
@SuppressWarnings("unchecked")
public Reflection build()
{
Reflection instance = new Reflection();
this.applyTo((Z) instance);
this.doAfterBuild((Z) instance);
return instance;
}
/**
* 建構{@link Reflection}物件。
*
* @return 新的{@link Reflection}物件實體
*/
@SuppressWarnings("unchecked")
public Reflection build(double arg0, double arg1, double arg2, double arg3)
{
Reflection instance = new Reflection(arg0, arg1, arg2, arg3);
this.applyTo((Z) instance);
this.doAfterBuild((Z) instance);
return instance;
}
}