ChoiceCallback — 선택지 제공 콜백

ChoiceCallback — 선택지 제공 콜백

ChoiceCallbackCallbackHandlerhandle 메서드에 전달되어 선택지 목록을 표시하고 선택된 선택지를 검색하는 데 사용되는 콜백 클래스예요. 기본 보안 서비스가 사용자에게 여러 옵션 중 하나(또는 여러 개)를 고르게 하고 싶을 때 사용해요.

출처: Java API Reference

본문

public class ChoiceCallback extends Object implements Callback, Serializable

알려진 직접 하위 클래스로 RealmChoiceCallback이 있어요.

생성자

  • ChoiceCallback(String prompt, String[] choices, int defaultChoice, boolean multipleSelectionsAllowed) — 프롬프트, 선택지 목록, 기본 선택지, 선택지 목록에서 여러 개를 선택할 수 있는지 여부를 나타내는 불리언으로 ChoiceCallback을 생성해요. choices 배열은 이후 수정으로부터 보호하기 위해 복제(clone)돼요. defaultChoice는 선택지 목록이 표시될 때 기본 선택지로 사용될 선택지의 배열 인덱스예요. promptnull이거나 길이가 0이거나, choicesnull이거나 길이가 0이거나, choices의 어떤 요소가 null이거나 길이 0이거나, defaultChoicechoices 배열 범위를 벗어나면 IllegalArgumentException이 발생해요.

메서드

  • boolean allowMultipleSelections() — 선택지 목록에서 여러 선택이 허용되는지 여부를 결정하는 불리언을 반환해요.
  • String[] getChoices() — 선택지 목록을 반환해요.
  • int getDefaultChoice()defaultChoice를 반환해요.
  • String getPrompt() — 프롬프트를 반환해요.
  • int[] getSelectedIndexes() — 선택된 선택지들을 반환해요.
  • void setSelectedIndex(int selection) — 선택된 선택지를 설정해요.
  • void setSelectedIndexes(int[] selections) — 선택된 선택지들을 설정해요.

어떻게 쓰일까요?

보안 서비스(예: 로그인 모듈)가 사용자에게 "인증 수준을 선택하세요" 같은 질문을 하고 싶을 때 ChoiceCallback을 만들어 CallbackHandler.handle로 전달해요. CallbackHandler는 선택지 목록을 사용자에게 보여주고, 사용자가 고른 결과를 setSelectedIndex/setSelectedIndexes로 돌려줘요. 이후 보안 서비스는 getSelectedIndexes로 그 결과를 읽어요.

더 알아보기 (Learn more)