Class AbstractBuilder<M,V,I extends ValueInput,B extends Builder<M,V,B>>
- java.lang.Object
-
- net.officefloor.gef.configurer.internal.AbstractBuilder<M,V,I,B>
-
- All Implemented Interfaces:
Builder<M,V,B>,ColumnRenderer<M,V>,ValueRendererFactory<M,I>
- Direct Known Subclasses:
ChoiceBuilderImpl,ClassBuilderImpl,FlagBuilderImpl,ListBuilderImpl,MappingBuilderImpl,MultipleBuilderImpl,OptionalBuilderImpl,ResourceBuilderImpl,SelectBuilderImpl,TextBuilderImpl
public abstract class AbstractBuilder<M,V,I extends ValueInput,B extends Builder<M,V,B>> extends java.lang.Object implements Builder<M,V,B>, ValueRendererFactory<M,I>, ColumnRenderer<M,V>
AbstractValueRenderer.- Author:
- Daniel Sagenschneider
-
-
Constructor Summary
Constructors Constructor Description AbstractBuilder(java.lang.String label)Instantiate.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected <R> voidconfigureTableColumn(javafx.scene.control.TableView<R> table, javafx.scene.control.TableColumn<R,V> column, javafx.util.Callback<java.lang.Integer,javafx.beans.value.ObservableValue<V>> callback)Allow overriding to configure theTableColumn.protected javafx.beans.property.Property<V>createCellProperty()Creates thePropertyfor theTableCell.CellRenderer<M,V>createCellRenderer(ValueRendererContext<M> context)Creates theValueRendererfor the cell.protected javafx.scene.NodecreateErrorFeedback(I valueInput, javafx.beans.property.Property<java.lang.Throwable> errorProperty)Creates the error feedbackNode.protected abstract IcreateInput(ValueInputContext<M,V> context)Creates the inputValueInputfor theObservableValue.protected javafx.scene.NodecreateLabel(java.lang.String labelText, I valueInput)Creates the labelNode.<R> javafx.scene.control.TableColumn<R,V>createTableColumn(javafx.scene.control.TableView<R> table, javafx.util.Callback<java.lang.Integer,javafx.beans.value.ObservableValue<V>> callback)Creates theTableColumn.ValueRenderer<M,I>createValueRenderer(ValueRendererContext<M> context)Creates theValueRenderer.protected java.lang.ThrowablegetError(I valueInput, javafx.beans.property.ReadOnlyProperty<java.lang.Throwable> error)Obtains the error.protected java.lang.StringgetLabel()Obtains the label.Binit(java.util.function.Function<M,V> getInitialValue)Configures obtaining the initial value.booleanisEditable()Indicates if the column is editable.BsetValue(ValueLoader<M,V> valueLoader)Specifies theValueLoaderto load the value to the model.Bvalidate(ValueValidator<M,V> validator)Validates the text value.
-
-
-
Method Detail
-
createInput
protected abstract I createInput(ValueInputContext<M,V> context)
Creates the inputValueInputfor theObservableValue.- Parameters:
context-ValueInputContext.- Returns:
ValueInputto configure theObservableValue.
-
createLabel
protected javafx.scene.Node createLabel(java.lang.String labelText, I valueInput)Creates the labelNode.- Parameters:
labelText- Label text.valueInput-ValueInput.- Returns:
- Label
Node.
-
createErrorFeedback
protected javafx.scene.Node createErrorFeedback(I valueInput, javafx.beans.property.Property<java.lang.Throwable> errorProperty)
Creates the error feedbackNode.- Parameters:
valueInput-ValueInput.errorProperty- ErrorProperty.- Returns:
- Error feedback
Node.
-
getError
protected java.lang.Throwable getError(I valueInput, javafx.beans.property.ReadOnlyProperty<java.lang.Throwable> error)
Obtains the error.- Parameters:
valueInput-ValueInput.error-Throwableerror. May benullif no error.- Returns:
Throwableerror ornullif no error.
-
createCellProperty
protected javafx.beans.property.Property<V> createCellProperty()
Creates thePropertyfor theTableCell.- Returns:
Propertyfor theTableCell.
-
configureTableColumn
protected <R> void configureTableColumn(javafx.scene.control.TableView<R> table, javafx.scene.control.TableColumn<R,V> column, javafx.util.Callback<java.lang.Integer,javafx.beans.value.ObservableValue<V>> callback)Allow overriding to configure theTableColumn.- Type Parameters:
R- Row object type.- Parameters:
table-TableViewthat will contain theTableColumn.column-TableColumn.callback-Callback.
-
getLabel
protected java.lang.String getLabel()
Obtains the label.- Returns:
- Label.
-
init
public B init(java.util.function.Function<M,V> getInitialValue)
Description copied from interface:BuilderConfigures obtaining the initial value.
-
validate
public B validate(ValueValidator<M,V> validator)
Description copied from interface:BuilderValidates the text value.- Specified by:
validatein interfaceBuilder<M,V,I extends ValueInput>- Parameters:
validator-ValueValidator.- Returns:
this.
-
setValue
public B setValue(ValueLoader<M,V> valueLoader)
Description copied from interface:BuilderSpecifies theValueLoaderto load the value to the model.- Specified by:
setValuein interfaceBuilder<M,V,I extends ValueInput>- Parameters:
valueLoader-ValueLoaderto load the value to the model.- Returns:
this.
-
createValueRenderer
public ValueRenderer<M,I> createValueRenderer(ValueRendererContext<M> context)
Description copied from interface:ValueRendererFactoryCreates theValueRenderer.- Specified by:
createValueRendererin interfaceValueRendererFactory<M,V>- Parameters:
context-ValueRendererContext.- Returns:
ValueRenderer.
-
createTableColumn
public <R> javafx.scene.control.TableColumn<R,V> createTableColumn(javafx.scene.control.TableView<R> table, javafx.util.Callback<java.lang.Integer,javafx.beans.value.ObservableValue<V>> callback)
Description copied from interface:ColumnRendererCreates theTableColumn.- Specified by:
createTableColumnin interfaceColumnRenderer<M,V>- Type Parameters:
R- Row object type.- Parameters:
table-TableViewto contain theTableColumn.callback-Callback.- Returns:
TableColumn.
-
isEditable
public boolean isEditable()
Description copied from interface:ColumnRendererIndicates if the column is editable.- Specified by:
isEditablein interfaceColumnRenderer<M,V>- Returns:
trueif column is editable.
-
createCellRenderer
public CellRenderer<M,V> createCellRenderer(ValueRendererContext<M> context)
Description copied from interface:ColumnRendererCreates theValueRendererfor the cell.- Specified by:
createCellRendererin interfaceColumnRenderer<M,V>- Parameters:
context-ValueRendererContext.- Returns:
ValueRenderer.
-
-