Class FormatterStep.Strict<State extends java.io.Serializable>

  • All Implemented Interfaces:
    FormatterStep, NoLambda, java.io.Serializable
    Enclosing interface:
    FormatterStep

    public abstract static class FormatterStep.Strict<State extends java.io.Serializable>
    extends LazyForwardingEquality<State>
    implements FormatterStep
    Implements a FormatterStep in a strict way which guarantees correct and lazy implementation of up-to-date checks. This maximizes performance for cases where the FormatterStep is not actually needed (e.g. don't load eclipse setting file unless this step is actually running) while also ensuring that Gradle can detect changes in a step's settings to determine that it needs to rerun a format.
    See Also:
    Serialized Form
    • Constructor Detail

      • Strict

        public Strict()
    • Method Detail

      • format

        protected abstract java.lang.String format​(State state,
                                                   java.lang.String rawUnix,
                                                   java.io.File file)
                                            throws java.lang.Exception
        Implements the formatting function strictly in terms of the input data and the result of LazyForwardingEquality.calculateState().
        Throws:
        java.lang.Exception
      • format

        public final java.lang.String format​(java.lang.String rawUnix,
                                             java.io.File file)
                                      throws java.lang.Exception
        Description copied from interface: FormatterStep
        Returns a formatted version of the given content.
        Specified by:
        format in interface FormatterStep
        Parameters:
        rawUnix - the content to format, guaranteed to have unix-style newlines ('\n'); never null
        file - the file which rawUnix was obtained from; never null. Pass the reference Formatter.NO_FILE_SENTINEL if and only if no file is actually associated with rawUnix
        Returns:
        the formatted content, guaranteed to only have unix-style newlines; may return null if the formatter step doesn't have any changes to make
        Throws:
        java.lang.Exception - if the formatter step experiences a problem