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
28
29
30
31
32
33
34
35
36
37
package Torello.JavaDoc.SyntaxHiLite;

import Torello.Java.StrPrint;
import java.io.File;


public class HLC32 extends AbstractHashCodeHLC<Integer>
{
    public HLC32(String cacheSaveDirectory)
    { super(cacheSaveDirectory, Integer.class); }

    public Integer computeCacheKey(
            final String    codeTypeParam,
            final boolean   includeLineNumbers,
            final byte      styleNum,
            final String    sourceCodeAsString
        )
    {
        return
            codeTypeParam.hashCode() +
            (includeLineNumbers ? 1 : 0) +
            styleNum +
            sourceCodeAsString.hashCode();
    }


    String getSubDirName(Integer hashCode)
    {
        final int absVal = (hashCode.intValue() < 0)
            ? -hashCode.intValue()
            : hashCode.intValue();

        return
            this.cacheSaveDirectory + 
            StrPrint.zeroPad10e4(absVal % AbstractHashCodeHLC.NUM_DIRS) + File.separator;
    }
}