다음을 통해 공유


DialogContext 클래스

  • java.lang.Object
    • com.microsoft.bot.dialogs.DialogContext

public class DialogContext

대화 상자 스택의 현재 상태에 대한 컨텍스트를 제공합니다.

생성자 요약

생성자 Description
DialogContext(DialogSet withDialogs, TurnContext withTurnContext, DialogState withState)

턴 컨텍스트에서 DialogContext 클래스의 새 인스턴스를 초기화합니다.

DialogContext(DialogSet withDialogs, DialogContext withParentDialogContext, DialogState withState)

턴 컨텍스트에서 DialogContext 클래스의 새 인스턴스를 초기화합니다.

메서드 요약

한정자 및 형식 메서드 및 설명
java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(String dialogId)

새 대화 상자를 시작하고 대화 상자 스택으로 푸시합니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(String dialogId, Object options)

새 대화 상자를 시작하고 대화 상자 스택으로 푸시합니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> cancelAllDialogs()

부모 대화 상자 또는 전달 및 이벤트를 취소하지 않는 cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue) 도우미 메서드입니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue)

기존 대화 상자 스택을 삭제하여 스택의 모든 대화 상자를 취소합니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> continueDialog()

현재 대화컨텍스트를 활성 대화 상자의 continueDialog(DialogContext dc) 메서드에 전달하여 활성 대화 상자가 있는 경우 계속 실행합니다.

java.util.concurrent.CompletableFuture<java.lang.Boolean> emitEvent(String name)
java.util.concurrent.CompletableFuture<java.lang.Boolean> emitEvent(String name, Object value, boolean bubble, boolean fromLeaf)
java.util.concurrent.CompletableFuture<DialogTurnResult> endDialog()

endDialog(Object result)null 결과를 제공하는 도우미 메서드입니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> endDialog(Object result)

스택에서 대화 상자를 터뜨린 후 대화 상자의 부모에 선택적 결과를 반환합니다.

Dialog findDialog(String dialogId)

지정된 컨텍스트에 대한 대화 상자 ID를 찾습니다.

DialogInstance getActiveDialog()

스택 맨 위에 있는 활성 대화 상자의 캐시된 인스턴스를 가져오거나 스택이 비어 있는 경우 null을 가져옵니다.

DialogContext getChild()

활성 자식이 있는 경우 자식에 대한 대화 상자 컨텍스트를 가져옵니다.

TurnContext getContext()

현재 대화 순서에 대한 컨텍스트를 가져옵니다.

DialogSet getDialogs()

현재 대화 컨테이너에 대해 활성화된 대화 상자 집합을 가져옵니다.

java.lang.String getLocale()

대화 상자컨텍스트에서 로캘을 가져옵니다.

DialogContext getParent()

컨텍스트에부모 대화 상자를 가져옵니다(있는 경우).

TurnContextStateCollection getServices()

이 대화 상자 컨텍스트에 대한 컨텍스트인 서비스 컬렉션을 가져옵니다.

java.util.List<DialogInstance> getStack()

현재 대화 상자 스택을 가져옵니다.

DialogStateManager getState()

모든 메모리 범위의 보기를 관리하는 DialogStateManager를 가져오거나 설정합니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> prompt(String dialogId, PromptOptions options)

도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> replaceDialog(String dialogId)

옵션에 대해 null을 전달하는 replaceDialog(String dialogId, Object options) 도우미 메서드입니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> replaceDialog(String dialogId, Object options)

새 대화 상자를 시작하고 스택에서 현재 활성 대화 상자를 새 대화 상자로 바꿉니다.

java.util.concurrent.CompletableFuture<java.lang.Void> repromptDialog()

현재 활성 대화 상자의 repromptDialog(TurnContext turnContext, DialogInstance instance) 메서드를 호출합니다.

void setParent(DialogContext withDialogContext)

부모 대화컨텍스트를 설정합니다.

다음에서 상속된 메서드 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

생성자 세부 정보

DialogContext

public DialogContext(DialogSet withDialogs, TurnContext withTurnContext, DialogState withState)

턴 컨텍스트에서 DialogContext 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

withDialogs - 대화 컨텍스트를 만들 대화 상자 집합입니다.
withTurnContext - 현재 턴 컨텍스트입니다.
withState - 대화 컨텍스트를 검색할 상태 속성입니다.

DialogContext

public DialogContext(DialogSet withDialogs, DialogContext withParentDialogContext, DialogState withState)

턴 컨텍스트에서 DialogContext 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

withDialogs - 대화 컨텍스트를 만들 대화 상자 집합입니다.
withParentDialogContext - 부모 대화 상자 컨텍스트입니다.
withState - 현재 대화 상자 상태입니다.

메서드 세부 정보

beginDialog

public CompletableFuture beginDialog(String dialogId)

새 대화 상자를 시작하고 대화 상자 스택으로 푸시합니다.

매개 변수:

dialogId - 시작할 대화 상자의 ID입니다.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

beginDialog

public CompletableFuture beginDialog(String dialogId, Object options)

새 대화 상자를 시작하고 대화 상자 스택으로 푸시합니다.

매개 변수:

dialogId - 시작할 대화 상자의 ID입니다.
options - 선택 사항으로, 시작 중인 대화 상자에 전달할 정보입니다.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

cancelAllDialogs

public CompletableFuture cancelAllDialogs()

부모 대화 상자 또는 전달 및 이벤트를 취소하지 않는 cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue) 도우미 메서드입니다.

반환:

작업이 성공하면 대화 상자에서 순서를 처리한 후 대화 상자가 취소되었거나 스택이 이미 비어 있음을 나타냅니다.

cancelAllDialogs

public CompletableFuture cancelAllDialogs(boolean cancelParents, String eventName, Object eventValue)

기존 대화 상자 스택을 삭제하여 스택의 모든 대화 상자를 취소합니다.

일반적으로 부모 컨텍스트는 대화 상자를 시작한 대화 상자 또는 봇 턴 처리기입니다. 부모가 대화 상자인 경우 스택은 부모의 resumeDialog(DialogContext dc, DialogReason reason, Object result) 메서드를 호출하여 결과를 부모 대화 상자에 반환합니다. 부모 대화 상자가 Dialog#resumeDialog구현하지 않으면 부모도 종료되고 결과는 다음 부모 컨텍스트로 전달됩니다.

매개 변수:

cancelParents - true이면 취소가 부모 대화 상자를 통해 버블업됩니다.
eventName - 이벤트입니다. null이면 CANCEL_DIALOG 사용됩니다.
eventValue - 이벤트 값입니다. null일 수 있습니다.

반환:

작업이 성공하면 대화 상자에서 순서를 처리한 후 대화 상자가 취소되었거나 스택이 이미 비어 있음을 나타냅니다.

continueDialog

public CompletableFuture continueDialog()

현재 DialogContext를 현재 대화 상자의 continueDialog(DialogContext dc) 메서드에 전달하여 활성 대화 상자가 있는 경우 계속 실행합니다.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

emitEvent

public CompletableFuture emitEvent(String name)

매개 변수:

name - 발생할 이벤트의 이름입니다.

반환:

emitEvent

emitEvent

public CompletableFuture emitEvent(String name, Object value, boolean bubble, boolean fromLeaf)

매개 변수:

name - 발생할 이벤트의 이름입니다.
value - 이벤트와 함께 보낼 값입니다.
bubble - 이벤트를 로컬로 처리하지 않을 경우 부모에 버블링해야 하는지 여부를 제어하는 플래그입니다. 기본값은 true.
fromLeaf - 리프 노드에서 이벤트를 내보내는지 여부입니다.

반환:

completedFuture

endDialog

public CompletableFuture endDialog()

endDialog(Object result)null 결과를 제공하는 도우미 메서드입니다.

반환:

작업이 성공하면 대화 상자에서 턴이 처리된 후 대화 상자가 종료되었음을 나타냅니다.

endDialog

public CompletableFuture endDialog(Object result)

스택에서 대화 상자를 터뜨린 후 대화 상자의 부모에 선택적 결과를 반환합니다. 부모 대화 상자는 beginDialog(String dialogId, Object options) 또는 prompt(String dialogId, PromptOptions options)호출을 통해 시작된 시작 대화 상자입니다. 부모 대화 상자에는 반환된 결과와 함께 resumeDialog(DialogContext dc, DialogReason reason, Object result) 메서드가 호출됩니다. 부모 대화 상자가 resumeDialog(DialogContext dc, DialogReason reason) 메서드를 구현하지 않은 경우 자동으로 종료되고 결과가 부모에 전달됩니다. 스택에 부모 대화 상자가 더 이상 없으면 순서 처리가 종료됩니다.

매개 변수:

result - 선택 사항으로, 부모 컨텍스트에 전달할 결과입니다.

반환:

작업이 성공하면 대화 상자에서 턴이 처리된 후 대화 상자가 종료되었음을 나타냅니다.

findDialog

public Dialog findDialog(String dialogId)

지정된 컨텍스트에 대한 대화 상자 ID를 찾습니다.

매개 변수:

dialogId - 찾을 대화 상자 ID입니다.

반환:

해당 ID가 있는 대화 상자 또는 null입니다.

getActiveDialog

public DialogInstance getActiveDialog()

스택 맨 위에 있는 활성 대화 상자의 캐시된 인스턴스를 가져오거나 스택이 비어 있는 경우 null을 가져옵니다.

반환:

스택 맨 위에 있는 활성 대화 상자의 캐시된 인스턴스이거나 스택이 비어 있는 경우 null입니다.

getChild

public DialogContext getChild()

활성 자식이 있는 경우 자식에 대한 대화 상자 컨텍스트를 가져옵니다.

반환:

활성 자식이 있는 경우 자식에 대한 대화 상자 컨텍스트입니다.

getContext

public TurnContext getContext()

현재 대화 순서에 대한 컨텍스트를 가져옵니다.

반환:

현재 대화 전환에 대한 컨텍스트입니다.

getDialogs

public DialogSet getDialogs()

현재 대화 컨테이너에 대해 활성화된 대화 상자 집합을 가져옵니다.

반환:

현재 대화 컨테이너에 대해 활성화된 대화 상자 집합입니다.

getLocale

public String getLocale()

DialogContext에서 로캘을 가져옵니다.

반환:

현재 로캘을 나타내는 문자열입니다.

getParent

public DialogContext getParent()

부모 DialogContext(있는 경우)를 가져옵니다. 시작할 대화 상자의 ID를 검색할 때 사용됩니다.

반환:

부모 "DialogContext(있는 경우)입니다. 시작할 대화 상자의 ID를 검색할 때 사용됩니다.

getServices

public TurnContextStateCollection getServices()

이 대화 상자 컨텍스트에 대한 컨텍스트인 서비스 컬렉션을 가져옵니다.

반환:

서비스 컬렉션입니다.

getStack

public List getStack()

현재 대화 상자 스택을 가져옵니다.

반환:

현재 대화 상자 스택입니다.

getState

public DialogStateManager getState()

모든 메모리 범위의 보기를 관리하는 DialogStateManager를 가져오거나 설정합니다.

반환:

모든 메모리 범위의 통합 메모리 뷰가 있는 DialogStateManager.

prompt

public CompletableFuture prompt(String dialogId, PromptOptions options)

도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다. 이 도우미는 PromptOptions 인수를 사용하고 beginDialog(String dialogId, Object options)

매개 변수:

dialogId - 시작할 프롬프트 대화 상자의 ID입니다.
options - 시작 중인 프롬프트 대화 상자에 전달할 정보입니다.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

replaceDialog

public CompletableFuture replaceDialog(String dialogId)

옵션에 대해 null을 전달하는 replaceDialog(String dialogId, Object options) 도우미 메서드입니다.

매개 변수:

dialogId - 시작할 새 대화 상자의 ID입니다.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

replaceDialog

public CompletableFuture replaceDialog(String dialogId, Object options)

새 대화 상자를 시작하고 스택에서 현재 활성 대화 상자를 새 대화 상자로 바꿉니다. 이는 루프를 만들거나 다른 대화 상자로 리디렉션하는 데 특히 유용합니다.

매개 변수:

dialogId - 시작할 새 대화 상자의 ID입니다.
options - 선택 사항으로, 시작 중인 대화 상자에 전달할 정보입니다.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

repromptDialog

public CompletableFuture repromptDialog()

현재 활성 대화 상자의 repromptDialog(TurnContext turnContext, DialogInstance instance) 메서드를 호출합니다. 다시 프롬프트 동작을 구현하는 대화 상자와 함께 사용됩니다.

반환:

실행할 큐에 대기 중인 작업을 나타내는 작업입니다.

setParent

public void setParent(DialogContext withDialogContext)

부모 DialogContext를 설정합니다.

매개 변수:

withDialogContext - 부모를 설정할 DialogContext입니다.

적용 대상