JavaRazorCodeLanguage extends RazorCodeLanguage<JavaCodeProvider> { @Override public RazorCodeGenerator createCodeGenerator(final String className, final String rootNamespaceName, final String sourceFileName, final RazorEngineHost host ) { return new JavaRazorCodeGenerator(className, rootNamespaceName, sourceFileName, host); }  @Override String getLanguageName(); @Override Class<JavaCodeProvider> getCodeDomProviderType(); @Override ParserBase createCodeParser(); @Override RazorCodeGenerator createCodeGenerator(final String className, final String rootNamespaceName,
                                                  final String sourceFileName, final RazorEngineHost host
                                                 ); static final String RazorFileExtension; static final String LanguageFileExtension; static final String LanguageName; }
@Test public void createCodeGeneratedParserListenerReturnsNewJavaCodeGeneratorParserListener() { final RazorEngineHost host = new RazorEngineHost(codeService); final RazorCodeGenerator generator = codeService.createCodeGenerator("Foo", "Bar", "Baz", host); assertNotNull(generator); assertThat(generator, instanceOf(JavaRazorCodeGenerator.class)); assertEquals("Foo", generator.getClassName()); assertEquals("Bar", generator.getRootPackageName()); assertEquals("Baz", generator.getSourceFileName()); assertSame(host, generator.getHost()); }