// @formatter:off /* * Unlicensed, generated by javafx.ftl */ package org.controlsfx.control.action; /** * {@link Action}建構器。 * * @author JarReflectionDataLoader-1.0.0 * @version controlsfx-8.40.12.jar * @param <Z> 要建構的物件型態(需繼承{@link Action}) * @param <B> 建構器本身的型態(需繼承{@link ActionMaker}) */ @javax.annotation.Generated("Generated by javafx.ftl") @SuppressWarnings("all") public class ActionMaker<Z extends Action, B extends ActionMaker<Z, B>> extends jxtn.jfx.makers.AbstractMaker<Z, B> implements ActionMakerExt<Z, B> { private boolean hasAccelerator; private javafx.scene.input.KeyCombination valAccelerator; private boolean hasDisabled; private boolean valDisabled; private boolean hasGraphic; private javafx.scene.Node valGraphic; private boolean hasLongText; private java.lang.String valLongText; private boolean hasSelected; private boolean valSelected; private boolean hasStyle; private java.lang.String valStyle; private boolean hasStyleClass; private java.util.Collection<java.lang.String> valStyleClass; private boolean hasText; private java.lang.String valText; private boolean bound1Accelerator; private boolean bound2Accelerator; private javafx.beans.value.ObservableValue<? extends javafx.scene.input.KeyCombination> obsrv1Accelerator; private javafx.beans.property.Property<javafx.scene.input.KeyCombination> obsrv2Accelerator; private boolean bound1Disabled; private boolean bound2Disabled; private javafx.beans.value.ObservableValue<? extends Boolean> obsrv1Disabled; private javafx.beans.property.Property<Boolean> obsrv2Disabled; private boolean bound1Graphic; private boolean bound2Graphic; private javafx.beans.value.ObservableValue<? extends javafx.scene.Node> obsrv1Graphic; private javafx.beans.property.Property<javafx.scene.Node> obsrv2Graphic; private boolean bound1LongText; private boolean bound2LongText; private javafx.beans.value.ObservableValue<? extends String> obsrv1LongText; private javafx.beans.property.Property<String> obsrv2LongText; private boolean bound1Selected; private boolean bound2Selected; private javafx.beans.value.ObservableValue<? extends Boolean> obsrv1Selected; private javafx.beans.property.Property<Boolean> obsrv2Selected; private boolean bound1Style; private boolean bound2Style; private javafx.beans.value.ObservableValue<? extends String> obsrv1Style; private javafx.beans.property.Property<String> obsrv2Style; private boolean bound1Text; private boolean bound2Text; private javafx.beans.value.ObservableValue<? extends String> obsrv1Text; private javafx.beans.property.Property<String> obsrv2Text; @Override public void applyTo(Z instance) { super.applyTo(instance); if (this.hasAccelerator) instance.setAccelerator(this.valAccelerator); if (this.hasDisabled) instance.setDisabled(this.valDisabled); if (this.hasGraphic) instance.setGraphic(this.valGraphic); if (this.hasLongText) instance.setLongText(this.valLongText); if (this.hasSelected) instance.setSelected(this.valSelected); if (this.hasStyle) instance.setStyle(this.valStyle); if (this.hasStyleClass) instance.getStyleClass().addAll(this.valStyleClass); if (this.hasText) instance.setText(this.valText); if (this.bound1Accelerator) instance.acceleratorProperty().bind(this.obsrv1Accelerator); if (this.bound2Accelerator) instance.acceleratorProperty().bindBidirectional(this.obsrv2Accelerator); if (this.bound1Disabled) instance.disabledProperty().bind(this.obsrv1Disabled); if (this.bound2Disabled) instance.disabledProperty().bindBidirectional(this.obsrv2Disabled); if (this.bound1Graphic) instance.graphicProperty().bind(this.obsrv1Graphic); if (this.bound2Graphic) instance.graphicProperty().bindBidirectional(this.obsrv2Graphic); if (this.bound1LongText) instance.longTextProperty().bind(this.obsrv1LongText); if (this.bound2LongText) instance.longTextProperty().bindBidirectional(this.obsrv2LongText); if (this.bound1Selected) instance.selectedProperty().bind(this.obsrv1Selected); if (this.bound2Selected) instance.selectedProperty().bindBidirectional(this.obsrv2Selected); if (this.bound1Style) instance.styleProperty().bind(this.obsrv1Style); if (this.bound2Style) instance.styleProperty().bindBidirectional(this.obsrv2Style); if (this.bound1Text) instance.textProperty().bind(this.obsrv1Text); if (this.bound2Text) instance.textProperty().bindBidirectional(this.obsrv2Text); } /** * 設定屬性{@link Action#setAccelerator(javafx.scene.input.KeyCombination)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B accelerator(javafx.scene.input.KeyCombination value) { this.hasAccelerator = true; this.valAccelerator = value; return (B) this; } /** * 設定屬性{@link Action#setDisabled(boolean)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B disabled(boolean value) { this.hasDisabled = true; this.valDisabled = value; return (B) this; } /** * 設定屬性{@link Action#setGraphic(javafx.scene.Node)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B graphic(javafx.scene.Node value) { this.hasGraphic = true; this.valGraphic = value; return (B) this; } /** * 設定屬性{@link Action#setLongText(java.lang.String)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B longText(java.lang.String value) { this.hasLongText = true; this.valLongText = value; return (B) this; } /** * 設定屬性{@link Action#setSelected(boolean)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B selected(boolean value) { this.hasSelected = true; this.valSelected = value; return (B) this; } /** * 設定屬性{@link Action#setStyle(java.lang.String)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B style(java.lang.String value) { this.hasStyle = true; this.valStyle = value; return (B) this; } /** * 設定集合屬性{@link Action#getStyleClass}的內容。 * * @param value 新的集合內容 * @return 目前的建構器(this) * @deprecated 屬性值並非{@link javafx.collections.ObservableList} */ @Deprecated @SuppressWarnings("unchecked") public final B styleClass(java.util.Collection<? extends java.lang.String> value) { this.hasStyleClass = true; this.valStyleClass = (java.util.Collection<java.lang.String>) value; return (B) this; } /** * 設定集合屬性{@link Action#getStyleClass}的內容。 * * @param value 新的集合內容 * @return 目前的建構器(this) */ @SafeVarargs @SuppressWarnings("unchecked") public final B styleClass(java.lang.String... value) { this.hasStyleClass = true; this.valStyleClass = java.util.Arrays.asList(value); return (B) this; } /** * 增加集合屬性{@link Action#getStyleClass}的內容。 * * @param value 新的集合內容 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B styleClassAdd(java.util.Collection<? extends java.lang.String> value) { java.util.Objects.requireNonNull(value); this.hasStyleClass = true; if (this.valStyleClass == null) this.valStyleClass = new java.util.ArrayList<>(value.size()); this.valStyleClass.addAll(value); return (B) this; } /** * 增加集合屬性{@link Action#getStyleClass}的內容。 * * @param value 新的集合內容 * @return 目前的建構器(this) */ @SafeVarargs @SuppressWarnings("unchecked") public final B styleClassAdd(java.lang.String... value) { java.util.Objects.requireNonNull(value); this.hasStyleClass = true; if (this.valStyleClass == null) this.valStyleClass = new java.util.ArrayList<>(value.length); this.valStyleClass.addAll(java.util.Arrays.asList(value)); return (B) this; } /** * 增加集合屬性{@link Action#getStyleClass}的內容,排除null項目。 * * @param value 新的集合內容 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B styleClassAddNonNull(java.util.Collection<? extends java.lang.String> value) { java.util.Objects.requireNonNull(value); this.hasStyleClass = true; if (this.valStyleClass == null) this.valStyleClass = new java.util.ArrayList<>(value.size()); for (java.lang.String i : value) if (i != null) this.valStyleClass.add(i); return (B) this; } /** * 增加集合屬性{@link Action#getStyleClass}的內容,排除null項目。 * * @param value 新的集合內容 * @return 目前的建構器(this) */ @SafeVarargs @SuppressWarnings("unchecked") public final B styleClassAddNonNull(java.lang.String... value) { java.util.Objects.requireNonNull(value); this.hasStyleClass = true; if (this.valStyleClass == null) this.valStyleClass = new java.util.ArrayList<>(value.length); for (java.lang.String i : value) if (i != null) this.valStyleClass.add(i); return (B) this; } /** * 設定屬性{@link Action#setText(java.lang.String)}。 * * @param value 新的屬性值 * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public B text(java.lang.String value) { this.hasText = true; this.valText = value; return (B) this; } /** * 設定屬性{@link Action#acceleratorProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindAccelerator(javafx.beans.value.ObservableValue<? extends javafx.scene.input.KeyCombination> source) { java.util.Objects.requireNonNull(source); this.bound1Accelerator = true; this.obsrv1Accelerator = source; this.bound2Accelerator = false; this.obsrv2Accelerator = null; return (B) this; } /** * 設定屬性{@link Action#acceleratorProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalAccelerator(javafx.beans.property.Property<javafx.scene.input.KeyCombination> source) { java.util.Objects.requireNonNull(source); this.bound1Accelerator = false; this.obsrv1Accelerator = null; this.bound2Accelerator = true; this.obsrv2Accelerator = source; return (B) this; } /** * 設定屬性{@link Action#disabledProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindDisabled(javafx.beans.value.ObservableValue<? extends Boolean> source) { java.util.Objects.requireNonNull(source); this.bound1Disabled = true; this.obsrv1Disabled = source; this.bound2Disabled = false; this.obsrv2Disabled = null; return (B) this; } /** * 設定屬性{@link Action#disabledProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalDisabled(javafx.beans.property.Property<Boolean> source) { java.util.Objects.requireNonNull(source); this.bound1Disabled = false; this.obsrv1Disabled = null; this.bound2Disabled = true; this.obsrv2Disabled = source; return (B) this; } /** * 設定屬性{@link Action#graphicProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindGraphic(javafx.beans.value.ObservableValue<? extends javafx.scene.Node> source) { java.util.Objects.requireNonNull(source); this.bound1Graphic = true; this.obsrv1Graphic = source; this.bound2Graphic = false; this.obsrv2Graphic = null; return (B) this; } /** * 設定屬性{@link Action#graphicProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalGraphic(javafx.beans.property.Property<javafx.scene.Node> source) { java.util.Objects.requireNonNull(source); this.bound1Graphic = false; this.obsrv1Graphic = null; this.bound2Graphic = true; this.obsrv2Graphic = source; return (B) this; } /** * 設定屬性{@link Action#longTextProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindLongText(javafx.beans.value.ObservableValue<? extends String> source) { java.util.Objects.requireNonNull(source); this.bound1LongText = true; this.obsrv1LongText = source; this.bound2LongText = false; this.obsrv2LongText = null; return (B) this; } /** * 設定屬性{@link Action#longTextProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalLongText(javafx.beans.property.Property<String> source) { java.util.Objects.requireNonNull(source); this.bound1LongText = false; this.obsrv1LongText = null; this.bound2LongText = true; this.obsrv2LongText = source; return (B) this; } /** * 設定屬性{@link Action#selectedProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindSelected(javafx.beans.value.ObservableValue<? extends Boolean> source) { java.util.Objects.requireNonNull(source); this.bound1Selected = true; this.obsrv1Selected = source; this.bound2Selected = false; this.obsrv2Selected = null; return (B) this; } /** * 設定屬性{@link Action#selectedProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalSelected(javafx.beans.property.Property<Boolean> source) { java.util.Objects.requireNonNull(source); this.bound1Selected = false; this.obsrv1Selected = null; this.bound2Selected = true; this.obsrv2Selected = source; return (B) this; } /** * 設定屬性{@link Action#styleProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindStyle(javafx.beans.value.ObservableValue<? extends String> source) { java.util.Objects.requireNonNull(source); this.bound1Style = true; this.obsrv1Style = source; this.bound2Style = false; this.obsrv2Style = null; return (B) this; } /** * 設定屬性{@link Action#styleProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalStyle(javafx.beans.property.Property<String> source) { java.util.Objects.requireNonNull(source); this.bound1Style = false; this.obsrv1Style = null; this.bound2Style = true; this.obsrv2Style = source; return (B) this; } /** * 設定屬性{@link Action#textProperty}的連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindText(javafx.beans.value.ObservableValue<? extends String> source) { java.util.Objects.requireNonNull(source); this.bound1Text = true; this.obsrv1Text = source; this.bound2Text = false; this.obsrv2Text = null; return (B) this; } /** * 設定屬性{@link Action#textProperty}的雙向連結。 * * @param value 新的屬性連結(單向) * @return 目前的建構器(this) */ @SuppressWarnings("unchecked") public final B bindBidirectionalText(javafx.beans.property.Property<String> source) { java.util.Objects.requireNonNull(source); this.bound1Text = false; this.obsrv1Text = null; this.bound2Text = true; this.obsrv2Text = source; return (B) this; } /** * 建構{@link Action}物件。 * * @return 新的{@link Action}物件實體 */ @SuppressWarnings("unchecked") public Action build(java.lang.String arg0) { Action instance = new Action(arg0); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } /** * 建構{@link Action}物件。 * * @return 新的{@link Action}物件實體 */ @SuppressWarnings("unchecked") public Action build(java.util.function.Consumer<javafx.event.ActionEvent> arg0) { Action instance = new Action(arg0); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } /** * 建構{@link Action}物件。 * * @return 新的{@link Action}物件實體 */ @SuppressWarnings("unchecked") public Action build(java.lang.String arg0, java.util.function.Consumer<javafx.event.ActionEvent> arg1) { Action instance = new Action(arg0, arg1); this.applyTo((Z) instance); this.doAfterBuild((Z) instance); return instance; } }