CompositeCommand.java 文件源码

java
阅读 34 收藏 0 点赞 0 评论 0

项目:easyMvvmFx 作者:
private void initProgressBinding() {
    DoubleExpression tmp = constantOf(0);

    for (Command command : registeredCommands) {
        final ReadOnlyDoubleProperty progressProperty = command.progressProperty();

        /**
         * When the progress of a command is "undefined", the progress property has a value of -1.
         * But in our use case we like to have a value of 0 in this case. 
         * Therefore we create a custom binding here.
         */
        final DoubleBinding normalizedProgress = Bindings
                .createDoubleBinding(() -> (progressProperty.get() == -1) ? 0.0 : progressProperty.get(),
                        progressProperty);

        tmp = tmp.add(normalizedProgress);
    }

    int divisor = registeredCommands.isEmpty() ? 1 : registeredCommands.size();
    progress.bind(Bindings.divide(tmp, divisor));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号