Interface HiLiter

  • Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface HiLiter
    A simple Functional-Interface allowing a user to swap in any customized, alternate or proprietary Syntax HiLiter to replace the default HiLiter used by this Upgrader Tool.

    This interface can be replaced if there are other HiLiter's that seem compatible with this JavaDoc Upgrade Tool. All that is expected is that whatever mechanism is used - it needs to be able to convert Source-Code into HTML given the inputs below.

    Implementations of this Functional Interface should be expected to receive Source-Code in many formats, along with a 'Code Type' that identifies what language is included in the Source-Code File. A 'Style Type' may also provided (if needed), but only two styles are used, internally, by the HiLiter itself - one for "Complete File" Source-Code String's, and one for "Snippet."

    The default HiLiter is the one in the Torello.Java package named HiLiteMe. This class is capable of providing a 'Cache' to avoid making internet-connections for code that has already been hilited and hasn't changed. Any subsequent / alternate implementations inserted into this JavaDoc Upgrader do not need to provide a Cache, but if HTTP Connections are utilized, it is of tremendous benefit.


    • Method Detail

      • hiLite

        🡇     🗕  🗗  🗖
        java.util.Vector<HTMLNodehiLite​(java.lang.String code,
                                          java.lang.String codeType,
                                          boolean snippetOrComplete)
                                   throws java.io.IOException,
                                          HiLiteException
        This Functional Interface expects this method to be implemented. Any HiLiter that would be "plugged into" this Documentation Tool must be able to Pretty-Print HiLite input Source-Code (passed as a java.lang.String) and return HTML.

        NOTE: Any Code HiLiter that can operate with this input may be plugged in here. In order to "Vectorize" HTML, just use the HTMLPage.getPageTokens(String, false) method.
        Parameters:
        code - This is the Source-Code as a java.lang.String
        codeType - This is a short descriptor of what kind of code is being passed. The most frequent values for this parameter are: 'java', 'html', 'js' etc...
        snippetOrComplete - This is a boolean that when TRUE, indicates that a code-snippet has been passed, and when FALSE indicates that a complete source code file has been passed.
        Returns:
        The intention is to return a Vectorized-HTML page (or sub-page) that contains a HiLited & Pretty-Printed version of the source-code.
        Throws:
        java.io.IOException - This method is not defined, but it is permitted to throw IOException - if there have been I/O problems when attempting to transform the source-code.
        HiLiteException - This exception may be used if other problems occur during the transformation process.
      • getDefault

        🡅     🗕  🗗  🗖
        static HiLiter getDefault​(HiLiteCache cache)
        The Default Code HiLiter uses the package Torello.JavaDoc.SyntaxHiLite.
        Parameters:
        cache - This is the HiLiter-Cache that may or may not be used.
        Returns:
        An instance of HiLiter that can be used by the Upgrade Tool
        Code:
        Exact Method Body:
         Objects.requireNonNull(cache, "HiLiteCache 'cache' Parameter has been passed null.");
         return new JDU_HL(cache);