개체 상태에 따라 UI 단추 (동작)를 렌더링하는 방법을 찾으려고합니다. 상태 기계에 "특정 주에서 적용 가능한 이벤트를 보여 주시겠습니까?"라고 묻는 방법이 있습니까? 설정 예 :주어진 주에서 행사를 보여줄 수 있습니까?
0
A
답변
0
나는 이것이 작동 할 것이라고 알았지 만 확실하지는 않습니다.
public abstract class GenericEnumStateMachineUtils extends StateMachineUtils {
public static <S, E> Collection<E> findEventsForState(StateMachine<S, E> stateMachine, S state) {
Collection<E> eventsForState = stateMachine.getTransitions().stream().filter(p -> p.getSource().getId().equals(state)).map(p -> p.getTrigger().getEvent()).collect(Collectors.toCollection(ArrayList::new));
return eventsForState;
}
0
불행히도 특정 상태의 컴퓨터가 특정 이벤트를 처리/수락 할 수 있는지를 알 수있는 확실한 방법이 없습니다. 이벤트를 열거 형으로 사용하면 가능한 값을 알 수 있지만 이벤트가 문자열 인 경우 외부 값을 목록에 저장하지 않으면 가능한 값의 무한한 목록이 있습니다.
서로 다른 이벤트가있을 수있는 중첩 된 계층 적 상태가 있고 가장 낮은 활성 상태가 부모 상태로 제공되는 이벤트를 허용하지 않는 경우 더욱 복잡해집니다.
다이내믹 한 평가를 수행하고 머신이 받아 들일 수있는 이벤트에 대한 질문을하는 것이 미래의 머신이 무엇을 할 것인지 예측하는 것과 같은 문제입니다.
관련 문제
- 1. C#에서 주어진 주에서 요일을 얻는 방법
- 2. 미국의 어느 주에서 주어진 지리적 포인트가 하락합니까?
- 3. 어떻게 이미지를 보여줄 수 있습니까?
- 4. APNS없이 배지를 보여줄 수 있습니까?
- 5. softkeyboard를 edittext없이 보여줄 수 있습니까?
- 6. 이맥스에 함수의 정의를 보여줄 수 있습니까?
- 7. 어떻게 탭간에 축배를 보여줄 수 있습니까?
- 8. IDLE 쉘에 함수 설명을 보여줄 수 있습니까?
- 9. JProgressBar는 스레드가 활성 상태임을 보여줄 수 있습니까?
- 10. 누구나 "정말 안전한"양식을 보여줄 수 있습니까?
- 11. FogBugz에 최근 활동이없는 사례를 보여줄 수 있습니까?
- 12. 실패한 고래를 언제 보여줄 수 있습니까?
- 13. 어떻게 추적하고있는 파일 목록을 보여줄 수 있습니까?
- 14. 안드로이드 브라우저에서 매끄러운 IFRAMES를 보여줄 수 있습니까?
- 15. Django에서 관리자에게만 링크를 보여줄 수 있습니까?
- 16. PHP에서 큰 따옴표를 어떻게 보여줄 수 있습니까?
- 17. R3 돈으로 센트를 어떻게 보여줄 수 있습니까?
- 18. 내 테이블을 어떻게 보여줄 수 있습니까?
- 19. R에서 mtable이 t- 통계를 보여줄 수 있습니까?
- 20. 어떻게 안드로이드 모덜리스 PopupWindow를 보여줄 수 있습니까?
- 21. UIViewAnimationTransitionFlipFromRight - 카드 이후에 카드를 보여줄 수 있습니까?
- 22. 누구나 Veracity 사용 사례를 보여줄 수 있습니까?
- 23. 어떻게 로딩 메시지를 보여줄 수 있습니까 MVC
- 24. 문자열 C에서 주에서 주어진 인수를 사용하여 구문 분석
- 25. 많은 주에서 활동 관리하기
- 26. 양식에서 주에서 배열에 액세스
- 27. 오류 : 구문 오류 주에서
- 28. 주에서 내 출력은 내가
- 29. 왜 카메라를 보여줄 수 없습니까?
- 30. Mysql 작년의 행사를 선택하십시오. 올해는 아니지만
예 저는 경비원에 대해 걱정했습니다. 그렇습니다. enum을 사용합니다. AbstractStateMachine.acceptEvent의 논리를 재사용 할 수 있는지보고 queueEvent (message)를 피할 수 있는지 계속 찾고 있습니다. – Petar