JVoiceXmlImplementationPlatform implements SpokenInputListener, SynthesizedOutputListener,
        TelephonyListener, ImplementationPlatform, Configurable { public void waitNonBargeInPlayed() { if (output == null) { return; } if (LOGGER.isDebugEnabled()) { LOGGER.debug("waiting for non-barge-in played..."); } final SynthesizedOutput synthesizedOutput = output .getSynthesizedOutput(); synthesizedOutput.waitNonBargeInPlayed(); if (LOGGER.isDebugEnabled()) { LOGGER.debug("...non-barge-in played."); } } JVoiceXmlImplementationPlatform(
            final KeyedResourcePool<Telephony> telePool,
            final KeyedResourcePool<SynthesizedOutput> synthesizedOutputPool,
            final KeyedResourcePool<SpokenInput> spokenInputPool,
            final ConnectionInformation connectionInformation);   JVoiceXmlImplementationPlatform(
            final KeyedResourcePool<Telephony> telePool,
            final KeyedResourcePool<SynthesizedOutput> synthesizedOutputPool,
            final KeyedResourcePool<SpokenInput> spokenInputPool,
            final BufferedDtmfInput bufferedCharacterInput,
            final ConnectionInformation connectionInformation); @Override void init(final Configuration configuration); Session getSession(); @Override boolean isHungup(); @Override SystemOutput getSystemOutput(); @Override void waitOutputQueueEmpty(); void waitNonBargeInPlayed(); @Override UserInput getUserInput(); @Override boolean isUserInputActive(); @Override DtmfInput getCharacterInput(); @Override CallControl getCallControl(); @Override void close(); @Override void setEventBus(final EventBus bus); void resultAccepted(final RecognitionResult result); void resultRejected(final RecognitionResult result); @Override void inputStatusChanged(final SpokenInputEvent event); @Override void telephonyCallAnswered(final TelephonyEvent event); @Override void dtmfInput(final char dtmf); @Override void telephonyCallHungup(final TelephonyEvent event); void telephonyCallTransferred(final TelephonyEvent event); @Override void telephonyMediaEvent(final TelephonyEvent event); @Override void outputStatusChanged(final SynthesizedOutputEvent event); void setSession(final Session currentSession); @Override void outputError(final ErrorEvent error); @Override void inputError(final ErrorEvent error); @Override void telephonyError(final ErrorEvent error); @Override void startPromptQueuing(final long timeout); @Override void queuePrompt(final SpeakableText speakable); @Override void renderPrompts(final String sessionId,
            final DocumentServer server, final CallControlProperties props);  }
@Test(timeout = 5000) public void testWaitNonBargeInPlayed() throws JVoiceXMLEvent, Exception { final SystemOutput output = platform.getSystemOutput(); final SsmlDocument doc1 = new SsmlDocument(); final Speak speak1 = doc1.getSpeak(); speak1.addText("Test1"); final SpeakableText text1 = new SpeakableSsmlText(doc1, true, BargeInType.HOTWORD); final SsmlDocument doc2 = new SsmlDocument(); final Speak speak2 = doc2.getSpeak(); speak2.addText("Test2"); final SpeakableText text2 = new SpeakableSsmlText(doc2, true, BargeInType.SPEECH); final SsmlDocument doc3 = new SsmlDocument(); final Speak speak3 = doc3.getSpeak(); speak3.addText("Test3"); final SpeakableText text3 = new SpeakableSsmlText(doc3); output.queueSpeakable(text1, null, null); output.queueSpeakable(text2, null, null); output.queueSpeakable(text3, null, null); platform.waitNonBargeInPlayed(); }