'Clang-format with 8-space rule for complex if statements in Java

I'm trying to set-up clang-format so that it confirms to Oracle's Java Code Conventions. The document provides numerous examples, of which the most important are:

function(longExpression1, longExpression2, longExpression3,
         longExpression4, longExpression5);

var = function1(longExpression1,
                function2(longExpression2,
                          longExpression3));

longName1 = longName2 * (longName3 + longName4 - longName5)
            + 4 * longname6;

if ((condition1 && condition2)
       || (condition3 && condition4)
       ||!(condition5 && condition6)) {
    doSomethingAboutIt();
}

The following options cover the first three cases:

AlignAfterOpenBracket: Align 
AlignAfterOpenBracket: Align
BreakBeforeBinaryOperators: true
BreakBeforeBraces: Attach
BreakBeforeTernaryOperators: true
ColumnLimit:     80
IndentWidth:     4
TabWidth:        8

About the fourth case, the document says: "Line wrapping for if statements should generally use the 8-space rule, since conventional (4 space) indentation makes seeing the body difficult." I went through all options, but I don't think I came across something.

Its admittedly a rather fastidious issue, but I thought maybe there is something I overlooked. Any ideas would be greatly appreciated. Thanks in advance!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source