Class TenantAwareStrategy
java.lang.Object
cloud.opencode.base.feature.strategy.TenantAwareStrategy
- All Implemented Interfaces:
EnableStrategy
Tenant Aware Strategy
租户感知策略
Strategy that enables features based on tenant configuration.
基于租户配置启用功能的策略。
Features | 主要功能:
- Per-tenant overrides - 按租户覆盖
- Multi-tenant support - 多租户支持
- Fallback strategy - 回退策略
Usage Examples | 使用示例:
// Enterprise tenant enabled, trial disabled
Feature feature = Feature.builder("premium-feature")
.strategy(new TenantAwareStrategy(
Map.of("enterprise", true, "trial", false),
AlwaysOffStrategy.INSTANCE
))
.build();
// Check with tenant context
boolean enabled = feature.isEnabled(
FeatureContext.builder()
.tenantId("enterprise")
.build()
);
Security | 安全性:
- Thread-safe: Yes - 线程安全: 是
- Null-safe: Partial (validates inputs) - 空值安全: 部分(验证输入)
- Since:
- JDK 25, opencode-base-feature V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionTenantAwareStrategy(Map<String, Boolean> tenantOverrides) Create with default fallback (always off) 使用默认回退创建(始终禁用)TenantAwareStrategy(Map<String, Boolean> tenantOverrides, EnableStrategy fallbackStrategy) Create tenant aware strategy 创建租户感知策略 -
Method Summary
Modifier and TypeMethodDescriptionGet fallback strategy 获取回退策略Get tenant overrides 获取租户覆盖booleanhasTenantOverride(String tenantId) Check if tenant has explicit override 检查租户是否有显式覆盖booleanisEnabled(Feature feature, FeatureContext context) Check if enabled for tenant 检查是否对租户启用toString()
-
Constructor Details
-
TenantAwareStrategy
Create tenant aware strategy 创建租户感知策略- Parameters:
tenantOverrides- tenant-specific overrides | 租户特定覆盖fallbackStrategy- fallback when tenant not in map | 租户不在映射中时的回退
-
TenantAwareStrategy
-
-
Method Details
-
isEnabled
Check if enabled for tenant 检查是否对租户启用- Specified by:
isEnabledin interfaceEnableStrategy- Parameters:
feature- the feature | 功能context- the context | 上下文- Returns:
- true if enabled for tenant | 如果对租户启用返回true
-
getTenantOverrides
-
getFallbackStrategy
Get fallback strategy 获取回退策略- Returns:
- fallback strategy | 回退策略
-
hasTenantOverride
Check if tenant has explicit override 检查租户是否有显式覆盖- Parameters:
tenantId- the tenant ID | 租户ID- Returns:
- true if has override | 如果有覆盖返回true
-
toString
-