feat: 状态管理器新增是否可切换的检查.

This commit is contained in:
2025-01-13 14:47:24 +08:00
parent 7a8d5187b9
commit 2f407e4cea
4 changed files with 24 additions and 2 deletions

View File

@@ -100,6 +100,11 @@ public abstract class AbstractStateManager<S> implements StateManager<S> {
}
}
@Override
public boolean isSwitchable() {
return stateList.size() > 1;
}
/**
* 将序号移动至下一个
* <li> 自动归零

View File

@@ -87,4 +87,9 @@ public final class BreakageUnidirectionalStateManager<S> extends DefaultUnidirec
public void reset() {
throw new UnsupportedOperationException("Cannot reset state for BreakageUnidirectionalStateManager!");
}
@Override
public boolean isSwitchable() {
return !isLast();
}
}

View File

@@ -30,4 +30,13 @@ public interface StateManager<S> {
* 重置回默认状态, 一般为状态集合中的第一个
*/
void reset();
/**
* 是否可切换
*
* @return 可切换返回真, 否则返回假
*/
default boolean isSwitchable() {
return true;
}
}