package org.codefx.libfx.nesting; import javafx.beans.Observable; import javafx.beans.property.Property; /** * A nesting builder which allows bindings. * * @param <T> * the type of the wrapped value * @param <O> * the type of {@link Observable} this builder uses as an inner observable */ abstract class AbstractNestingBuilderOnProperty<T, O extends Property<T>> extends AbstractNestingBuilderOnObservableValue<T, O> { // #begin CONSTRUCTION /** * Creates a new nesting builder which acts as the outer builder. * * @param outerObservable * the outer observable upon which the constructed nesting depends */ protected AbstractNestingBuilderOnProperty(O outerObservable) { super(outerObservable); } /** * Creates a new nesting builder which acts as a nested builder. * * @param <P> * 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 */ protected <P> AbstractNestingBuilderOnProperty( AbstractNestingBuilderOnObservable<P, ?> previousNestedBuilder, NestingStep<P, O> nestingStep) { super(previousNestedBuilder, nestingStep); } //#end CONSTRUCTION }