// @formatter:off
/*
* Unlicensed, generated by javafx.ftl
*/
package javafx.scene.media;
/**
* {@link EqualizerBand}建構器。
*
* @author JarReflectionDataLoader-1.0.0
* @version jfxrt.jar
* @param <Z> 要建構的物件型態(需繼承{@link EqualizerBand})
* @param <B> 建構器本身的型態(需繼承{@link EqualizerBandMaker})
*/
@javax.annotation.Generated("Generated by javafx.ftl")
@SuppressWarnings("all")
public class EqualizerBandMaker<Z extends EqualizerBand, B extends EqualizerBandMaker<Z, B>>
extends jxtn.jfx.makers.AbstractMaker<Z, B>
implements EqualizerBandMakerExt<Z, B>
{
private boolean hasBandwidth;
private double valBandwidth;
private boolean hasCenterFrequency;
private double valCenterFrequency;
private boolean hasGain;
private double valGain;
private boolean bound1Bandwidth;
private boolean bound2Bandwidth;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1Bandwidth;
private javafx.beans.property.Property<Number> obsrv2Bandwidth;
private boolean bound1CenterFrequency;
private boolean bound2CenterFrequency;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1CenterFrequency;
private javafx.beans.property.Property<Number> obsrv2CenterFrequency;
private boolean bound1Gain;
private boolean bound2Gain;
private javafx.beans.value.ObservableValue<? extends Number> obsrv1Gain;
private javafx.beans.property.Property<Number> obsrv2Gain;
@Override
public void applyTo(Z instance)
{
super.applyTo(instance);
if (this.hasBandwidth)
instance.setBandwidth(this.valBandwidth);
if (this.hasCenterFrequency)
instance.setCenterFrequency(this.valCenterFrequency);
if (this.hasGain)
instance.setGain(this.valGain);
if (this.bound1Bandwidth)
instance.bandwidthProperty().bind(this.obsrv1Bandwidth);
if (this.bound2Bandwidth)
instance.bandwidthProperty().bindBidirectional(this.obsrv2Bandwidth);
if (this.bound1CenterFrequency)
instance.centerFrequencyProperty().bind(this.obsrv1CenterFrequency);
if (this.bound2CenterFrequency)
instance.centerFrequencyProperty().bindBidirectional(this.obsrv2CenterFrequency);
if (this.bound1Gain)
instance.gainProperty().bind(this.obsrv1Gain);
if (this.bound2Gain)
instance.gainProperty().bindBidirectional(this.obsrv2Gain);
}
/**
* 設定屬性{@link EqualizerBand#setBandwidth(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B bandwidth(double value)
{
this.hasBandwidth = true;
this.valBandwidth = value;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#setCenterFrequency(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B centerFrequency(double value)
{
this.hasCenterFrequency = true;
this.valCenterFrequency = value;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#setGain(double)}。
*
* @param value 新的屬性值
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public B gain(double value)
{
this.hasGain = true;
this.valGain = value;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#bandwidthProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBandwidth(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Bandwidth = true;
this.obsrv1Bandwidth = source;
this.bound2Bandwidth = false;
this.obsrv2Bandwidth = null;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#bandwidthProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalBandwidth(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Bandwidth = false;
this.obsrv1Bandwidth = null;
this.bound2Bandwidth = true;
this.obsrv2Bandwidth = source;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#centerFrequencyProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindCenterFrequency(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1CenterFrequency = true;
this.obsrv1CenterFrequency = source;
this.bound2CenterFrequency = false;
this.obsrv2CenterFrequency = null;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#centerFrequencyProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalCenterFrequency(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1CenterFrequency = false;
this.obsrv1CenterFrequency = null;
this.bound2CenterFrequency = true;
this.obsrv2CenterFrequency = source;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#gainProperty}的連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindGain(javafx.beans.value.ObservableValue<? extends Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Gain = true;
this.obsrv1Gain = source;
this.bound2Gain = false;
this.obsrv2Gain = null;
return (B) this;
}
/**
* 設定屬性{@link EqualizerBand#gainProperty}的雙向連結。
*
* @param value 新的屬性連結(單向)
* @return 目前的建構器(this)
*/
@SuppressWarnings("unchecked")
public final B bindBidirectionalGain(javafx.beans.property.Property<Number> source)
{
java.util.Objects.requireNonNull(source);
this.bound1Gain = false;
this.obsrv1Gain = null;
this.bound2Gain = true;
this.obsrv2Gain = source;
return (B) this;
}
/**
* 建構{@link EqualizerBand}物件。
*
* @return 新的{@link EqualizerBand}物件實體
*/
@Override
@SuppressWarnings("unchecked")
public EqualizerBand build()
{
EqualizerBand instance = new EqualizerBand();
this.applyTo((Z) instance);
this.doAfterBuild((Z) instance);
return instance;
}
/**
* 建構{@link EqualizerBand}物件。
*
* @return 新的{@link EqualizerBand}物件實體
*/
@SuppressWarnings("unchecked")
public EqualizerBand build(double arg0, double arg1, double arg2)
{
EqualizerBand instance = new EqualizerBand(arg0, arg1, arg2);
this.applyTo((Z) instance);
this.doAfterBuild((Z) instance);
return instance;
}
}