
org.pcsoft.framework.jfex.commons.util.Properties Maven / Gradle / Ivy
The newest version!
package org.pcsoft.framework.jfex.commons.util;
import javafx.beans.Observable;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.Property;
import javafx.beans.property.StringProperty;
import org.pcsoft.framework.jfex.commons.property.ExtendedWrapperProperty;
import org.pcsoft.framework.jfex.commons.property.SimpleWrapperProperty;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
public final class Properties {
public static ObjectProperty createProperty(Property property, Function convertTo, Function convertFrom) {
return new SimpleWrapperProperty<>(property) {
@Override
protected Outer convertTo(Inner value) {
return convertTo.apply(value);
}
@Override
protected Inner convertFrom(Outer value) {
return convertFrom.apply(value);
}
};
}
public static ObjectProperty createProperty(Supplier getter, Consumer setter, Observable... observables) {
return new ExtendedWrapperProperty<>(observables) {
@Override
protected T getPseudoValue() {
return getter.get();
}
@Override
protected void setPseudoValue(T value) {
setter.accept(value);
}
};
}
private Properties() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy