Class CLICommandTranspiler

java.lang.Object
org.nustaq.kontraktor.webapp.transpiler.CLICommandTranspiler
All Implemented Interfaces:
TranspilerHook
Direct Known Subclasses:
CoffeeScriptTranspiler

public abstract class CLICommandTranspiler
extends Object
implements TranspilerHook
Created by ruedi on 21.05.16.
  • Constructor Details

  • Method Details

    • transpile

      public byte[] transpile​(File f) throws TranspileException
      Description copied from interface: TranspilerHook
      indicates a file is being accessed. in dev mode this is called always (so its up to the implementation to check for filedate/modification). In order to run an external transpiler, just run transpilation synchronous such that the given file is updated and return null. Alternatively an implementation might choose to just transpile dynamically and directly return byte[]. NOTE: transpilation is static. this means in production mode it will be called once on first resource access.
      Specified by:
      transpile in interface TranspilerHook
      Parameters:
      f - - the file being accessed (after resourcepath resolvment)
      Returns:
      either (transpiled) file content or null. Should throw an exception in case an error occured during transpile.
      Throws:
      TranspileException
    • shouldUpdate

      protected boolean shouldUpdate​(File targetJSFile, File source)
    • createCMDLine

      protected abstract String[] createCMDLine​(File targetJSFile, File source)
    • ioPoller

      public void ioPoller​(OutputStream fout, InputStream in, Process proc)