1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package Torello.JavaDoc;

import Torello.Java.StringParse;
import Torello.Java.StrIndent;

import Torello.JDUInternal.MainJDU.ClassUpgradeData.UpgradeSettings;

class TabsPolicy 
{
    static void set(
            final int                       spacesPerTab,
            final boolean                   relativeOrAbsolute,
            final UpgradeSettings.Builder   settingsBuilder
        )
    {
        if ((spacesPerTab < 1) || (spacesPerTab > 20)) throw new IllegalArgumentException(
            "A tab-character ('\t') cannot represent less than one or more than twenty " +
            "spaces.  You have passed [" + spacesPerTab + "]"
        );

        final String SPACES = StringParse.nChars(' ', spacesPerTab);

        settingsBuilder.indentor = (relativeOrAbsolute)
            ? (String s) -> StrIndent.setCodeIndent_WithTabsPolicyRelative(s, 1, spacesPerTab)
            : (String s) -> StrIndent.setCodeIndent_WithTabsPolicyAbsolute(s, 1, SPACES);
    }
}