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