2017-10-17 78 views
-2

的输入参数的切换功能激活togglez的所有ActivationStrategy都使用来自HttpRequest或来自其他上下文的输入。基于来自呼叫

但是,如果我使用togglez作为独立的Java应用程序有什么方法可以将参数传递到isActive方法。

Features.DOWNLOAD_ACCESS.isActive(availableBalance); 

代替

Features.DOWNLOAD_ACCESS.isActive(); 

下面是ReleaseDateActivationStrategy使用当前的日期。但是,如果某个人改变系统日期而不是失败。 https://github.com/togglz/togglz/blob/master/core/src/main/java/org/togglz/core/activation/ReleaseDateActivationStrategy.java

回答

1

Togglz的ActivationStrategies有一个IsActive方法需要两个参数,FeatureState和FeatureUser。这些分别由StateRepository实现和UserProvider实现提供。 如果您希望在独立应用程序中具有该级别的自定义功能,则应提供并实施一个自定义FeatureManagerProvider,该功能提供Togglz advanced config中所述的功能管理器。你也创建一个自定义的StateRepository和UserProvider。

+0

这不仅仅关于用户标识。查看编辑的问题。如果您想根据可用的数据平衡限制用户的下载功能。此数据余额不可从UserProvider获得。 – Nitul

+0

在这种情况下,我会建议实现一个自定义StateRepository以将该信息放入FeatureState中。您不能简单地将其他参数添加到isActive方法,因为它是功能界面的实现。 –