InternalGrammarDocument implements GrammarDocument { @Override public String getDocument() { if (document == null) { if (charset == null) { document = new String(buffer); } else { try { document = new String(buffer, charset); } catch (UnsupportedEncodingException ex) { LOGGER.warn("unable to use charset '" + charset + "' to convert grammar '" + uri + "'' Using default.", ex); document = new String(buffer); } } } return document; } InternalGrammarDocument(final Grammar node); @Override boolean isCacheable(); @Override void setURI(final URI value); @Override URI getURI(); @Override GrammarType getMediaType(); @Override void setMediaType(final GrammarType grammartype); @Override boolean isAscii(); @Override byte[] getBuffer(); @Override String getDocument(); @Override String getTextContent(); @Override boolean equals(final Object obj); @Override boolean equals(final GrammarDocument other); @Override int hashCode(); @Override ModeType getModeType(); @Override void setModeType(final ModeType modeType); @Override String toString();  }
@Test public void testGetDocument() throws Exception { final VoiceXmlDocument vxmlDocument = new VoiceXmlDocument(); final Vxml vxml = vxmlDocument.getVxml(); final Form form = vxml.appendChild(Form.class); final Grammar grammar = form.appendChild(Grammar.class); grammar.setVersion("1.0"); grammar.setType(GrammarType.SRGS_XML); final Rule rule = grammar.appendChild(Rule.class); final OneOf oneof = rule.appendChild(OneOf.class); final Item item1 = oneof.appendChild(Item.class); item1.addText("visa"); final Item item2 = oneof.appendChild(Item.class); item2.addText("mastercard"); final Item item3 = oneof.appendChild(Item.class); item3.addText("american express"); final InternalGrammarDocument document = new InternalGrammarDocument( grammar); document.setModeType(ModeType.VOICE); document.setMediaType(GrammarType.SRGS_XML); Assert.assertEquals(grammar.toString(), document.getDocument()); }