Class ClosureJavaScriptCompressor

    • Constructor Summary

      Constructors 
      Constructor Description
      ClosureJavaScriptCompressor()
      Instantiates a new closure java script compressor.
      ClosureJavaScriptCompressor​(com.google.javascript.jscomp.CompilationLevel compilationLevel)
      Instantiates a new closure java script compressor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String compress​(String source)
      The main method that compresses the given source and returns a compressed result.
      com.google.javascript.jscomp.CompilationLevel getCompilationLevel()
      Returns level of optimization that is applied when compiling JavaScript code.
      com.google.javascript.jscomp.CompilerOptions getCompilerOptions()
      Returns options that are used by the Closure compiler.
      List<com.google.javascript.jscomp.SourceFile> getExterns()
      Returns SourceFile used as a reference during the compression at CompilationLevel.ADVANCED_OPTIMIZATIONS level.
      Level getLoggingLevel()
      Returns logging level used by the Closure compiler.
      com.google.javascript.jscomp.WarningLevel getWarningLevel()
      Returns WarningLevel used by the Closure compiler.
      boolean isCustomExternsOnly()
      Returns true if default externs defined inside Closure's jar are ignored and only user defined ones are used.
      void setCompilationLevel​(com.google.javascript.jscomp.CompilationLevel compilationLevel)
      Sets level of optimization that should be applied when compiling JavaScript code.
      void setCompilerOptions​(com.google.javascript.jscomp.CompilerOptions compilerOptions)
      Sets options that will be used by the Closure compiler.
      void setCustomExternsOnly​(boolean customExternsOnly)
      If set to true, default externs defined inside Closure's jar will be ignored and only user defined ones will be used.
      void setExterns​(List<com.google.javascript.jscomp.SourceFile> externs)
      Sets external JavaScript files that are used as a reference for function declarations if CompilationLevel.ADVANCED_OPTIMIZATIONS compression level is used.
      void setLoggingLevel​(Level loggingLevel)
      Sets logging level for the Closure compiler.
      void setWarningLevel​(com.google.javascript.jscomp.WarningLevel warningLevel)
      Indicates the amount of information you want from the compiler about possible problems in your code.
    • Field Detail

      • COMPILATION_LEVEL_SIMPLE

        public static final String COMPILATION_LEVEL_SIMPLE
        The Constant COMPILATION_LEVEL_SIMPLE.
        See Also:
        Constant Field Values
      • COMPILATION_LEVEL_ADVANCED

        public static final String COMPILATION_LEVEL_ADVANCED
        The Constant COMPILATION_LEVEL_ADVANCED.
        See Also:
        Constant Field Values
      • COMPILATION_LEVEL_WHITESPACE

        public static final String COMPILATION_LEVEL_WHITESPACE
        The Constant COMPILATION_LEVEL_WHITESPACE.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ClosureJavaScriptCompressor

        public ClosureJavaScriptCompressor()
        Instantiates a new closure java script compressor.
      • ClosureJavaScriptCompressor

        public ClosureJavaScriptCompressor​(com.google.javascript.jscomp.CompilationLevel compilationLevel)
        Instantiates a new closure java script compressor.
        Parameters:
        compilationLevel - the compilation level
    • Method Detail

      • compress

        public String compress​(String source)
        Description copied from interface: Compressor
        The main method that compresses the given source and returns a compressed result.
        Specified by:
        compress in interface Compressor
        Parameters:
        source - The source to compress.
        Returns:
        Compressed result.
      • getCompilationLevel

        public com.google.javascript.jscomp.CompilationLevel getCompilationLevel()
        Returns level of optimization that is applied when compiling JavaScript code.
        Returns:
        CompilationLevel that is applied when compiling JavaScript code.
        See Also:
        CompilationLevel
      • setCompilationLevel

        public void setCompilationLevel​(com.google.javascript.jscomp.CompilationLevel compilationLevel)
        Sets level of optimization that should be applied when compiling JavaScript code. If none is provided, CompilationLevel.SIMPLE_OPTIMIZATIONS will be used by default.

        Warning: Using CompilationLevel.ADVANCED_OPTIMIZATIONS could break inline JavaScript if externs are not set properly.

        Parameters:
        compilationLevel - Optimization level to use, could be set to CompilationLevel.ADVANCED_OPTIMIZATIONS, CompilationLevel.SIMPLE_OPTIMIZATIONS, CompilationLevel.WHITESPACE_ONLY
        See Also:
        Advanced Compilation and Externs, Closure Compiler Compilation Levels, CompilationLevel
      • getCompilerOptions

        public com.google.javascript.jscomp.CompilerOptions getCompilerOptions()
        Returns options that are used by the Closure compiler.
        Returns:
        CompilerOptions that are used by the compiler
        See Also:
        CompilerOptions
      • setCompilerOptions

        public void setCompilerOptions​(com.google.javascript.jscomp.CompilerOptions compilerOptions)
        Sets options that will be used by the Closure compiler. If none is provided, default options constructor will be used: new CompilerOptions().
        Parameters:
        compilerOptions - CompilerOptions that will be used by the compiler
        See Also:
        CompilerOptions
      • getLoggingLevel

        public Level getLoggingLevel()
        Returns logging level used by the Closure compiler.
        Returns:
        Level of logging used by the Closure compiler
      • setLoggingLevel

        public void setLoggingLevel​(Level loggingLevel)
        Sets logging level for the Closure compiler.
        Parameters:
        loggingLevel - logging level for the Closure compiler.
        See Also:
        Level
      • getExterns

        public List<com.google.javascript.jscomp.SourceFile> getExterns()
        Returns SourceFile used as a reference during the compression at CompilationLevel.ADVANCED_OPTIMIZATIONS level.
        Returns:
        SourceFile used as a reference during compression
      • setExterns

        public void setExterns​(List<com.google.javascript.jscomp.SourceFile> externs)
        Sets external JavaScript files that are used as a reference for function declarations if CompilationLevel.ADVANCED_OPTIMIZATIONS compression level is used.

        A number of default externs defined inside Closure's jar will be used besides user defined ones, to use only user defined externs set setCustomExternsOnly(true)

        Warning: Using CompilationLevel.ADVANCED_OPTIMIZATIONS could break inline JavaScript if externs are not set properly.

        Parameters:
        externs - SourceFile to use as a reference during compression
        See Also:
        setCompilationLevel(CompilationLevel), setCustomExternsOnly(boolean), Advanced Compilation and Externs, SourceFile
      • getWarningLevel

        public com.google.javascript.jscomp.WarningLevel getWarningLevel()
        Returns WarningLevel used by the Closure compiler.
        Returns:
        WarningLevel used by the Closure compiler
      • setWarningLevel

        public void setWarningLevel​(com.google.javascript.jscomp.WarningLevel warningLevel)
        Indicates the amount of information you want from the compiler about possible problems in your code.
        Parameters:
        warningLevel - WarningLevel to use
        See Also:
        Google Closure Compiler
      • isCustomExternsOnly

        public boolean isCustomExternsOnly()
        Returns true if default externs defined inside Closure's jar are ignored and only user defined ones are used.
        Returns:
        true if default externs defined inside Closure's jar are ignored and only user defined ones are used
      • setCustomExternsOnly

        public void setCustomExternsOnly​(boolean customExternsOnly)
        If set to true, default externs defined inside Closure's jar will be ignored and only user defined ones will be used.
        Parameters:
        customExternsOnly - true to skip default externs and use only user defined ones
        See Also:
        setExterns(List), setCompilationLevel(CompilationLevel)