
org.codefx.libfx.nesting.BooleanPropertyNestingBuilder Maven / Gradle / Ivy
Show all versions of LibFX Show documentation
package org.codefx.libfx.nesting;
import javafx.beans.property.BooleanProperty;
import org.codefx.libfx.nesting.property.NestedBooleanProperty;
import org.codefx.libfx.nesting.property.NestedBooleanPropertyBuilder;
/**
* A builder for all kinds of nested functionality whose inner observable is a {@link BooleanProperty}.
*/
public class BooleanPropertyNestingBuilder extends AbstractNestingBuilderOnProperty {
// #begin CONSTRUCTION
/**
* Creates a new nesting builder which acts as a nested builder.
*
* @param
* the type the previous builder wraps
* @param previousNestedBuilder
* the previous builder
* @param nestingStep
* the function which performs the nesting step from one observable to the next
*/
BooleanPropertyNestingBuilder(
AbstractNestingBuilderOnObservableValue
previousNestedBuilder,
NestingStep
nestingStep) {
super(previousNestedBuilder, nestingStep);
}
//#end CONSTRUCTION
// #begin BUILD
/**
* Creates a nested property from this builder's settings. This method can be called arbitrarily often and each call
* returns a new instance.
*
* @return a new {@link NestedBooleanProperty} instance with no owning bean and no name
*/
public NestedBooleanProperty buildProperty() {
Nesting nesting = buildNesting();
return NestedBooleanPropertyBuilder.forNesting(nesting).build();
}
/**
* Returns a nested object property builder which can be used to define the new property's attributes before
* building it.
*
* @return a new instance of {@link NestedBooleanPropertyBuilder}
*/
public NestedBooleanPropertyBuilder buildPropertyWithBuilder() {
Nesting nesting = buildNesting();
return NestedBooleanPropertyBuilder.forNesting(nesting);
}
//#end BUILD
}