package org.codefx.libfx.control.properties; import javafx.collections.ObservableMap; /** * Gives access to a {@link ControlPropertyListenerBuilder}. */ public class ControlProperties { /** * Creates a builder for a {@link ControlPropertyListenerHandle} which observes the specified property map. * <p> * Note that it is often necessary to explicitly specify the type parameter {@code T} like so: * * <pre> * ControlProperties.<String> on(...) * </pre> * * @param <T> * the type of values which the listener processes * @param properties * the {@link ObservableMap} holding the properties * @return a {@link ControlPropertyListenerBuilder} */ public static <T> ControlPropertyListenerBuilder<T> on(ObservableMap<Object, Object> properties) { return ControlPropertyListenerBuilder.<T> on(properties); } }