Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Simplify processor creation

AuthorDaveJarvis <email>
Date2021-12-14 21:50:11 GMT-0800
Commit174cf590a8795fa0032aef2a01d8ed45ae708bc4
Parentbb3185a
Delta6 lines added, 12 lines removed, 6-line decrease
src/main/java/com/keenwrite/processors/ProcessorContext.java
}
- public boolean isExportFormat( final ExportFormat format ) {
- return mMutator.mExportFormat == format;
- }
-
HtmlPreview getPreview() {
return mMutator.mHtmlPreview;
src/main/java/com/keenwrite/processors/ProcessorFactory.java
import com.keenwrite.processors.markdown.MarkdownProcessor;
-import static com.keenwrite.ExportFormat.*;
import static com.keenwrite.processors.IdentityProcessor.IDENTITY;
// to SVG. Without conversion would require client-side rendering of
// math (such as using the JavaScript-based KaTeX engine).
- final var successor = context.isExportFormat( NONE )
- ? createHtmlPreviewProcessor( context )
- : context.isExportFormat( XHTML_TEX )
- ? createXhtmlProcessor( context )
- : context.isExportFormat( APPLICATION_PDF )
- ? createPdfProcessor( context )
- : createIdentityProcessor( context );
+ final var successor = switch( context.getExportFormat() ) {
+ case NONE -> createHtmlPreviewProcessor( context );
+ case XHTML_TEX -> createXhtmlProcessor( context );
+ case APPLICATION_PDF -> createPdfProcessor( context );
+ default -> createIdentityProcessor( context );
+ };
final var processor = switch( context.getFileType() ) {