1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.document.impl.guesser;
20
21 import java.util.Arrays;
22 import java.util.List;
23
24 import org.apache.rat.api.Document;
25
26 public class NoteGuesser {
27
28
29 public static final String[] NOTE_FILE_NAMES = {
30 "NOTICE", "LICENSE",
31 "LICENSE.TXT", "NOTICE.TXT",
32 "INSTALL", "INSTALL.TXT",
33 "README", "README.TXT",
34 "NEWS", "NEWS.TXT",
35 "AUTHOR", "AUTHOR.TXT",
36 "AUTHORS", "AUTHORS.txt",
37 "CHANGELOG", "CHANGELOG.TXT",
38 "DISCLAIMER", "DISCLAIMER.TXT",
39 "KEYS", "KEYS.TXT",
40 "RELEASE-NOTES", "RELEASE-NOTES.TXT",
41 "RELEASE_NOTES", "RELEASE_NOTES.TXT",
42 "UPGRADE", "UPGRADE.TXT",
43 "STATUS", "STATUS.TXT",
44 "THIRD_PARTY_NOTICES", "THIRD_PARTY_NOTICES.TXT",
45 "COPYRIGHT", "COPYRIGHT.TXT",
46 "BUILDING", "BUILDING.TXT",
47 "BUILD", "BUILT.TXT",
48 };
49 public static final String[] NOTE_FILE_EXTENSIONS = {
50 "LICENSE", "LICENSE.TXT",
51 "NOTICE", "NOTICE.TXT",
52 };
53
54
55
56
57 public static final boolean isNote(final String name) {
58 if (name == null) {return false;}
59
60 List l = Arrays.asList(NoteGuesser.NOTE_FILE_NAMES);
61 String normalisedName = GuessUtils.normalise(name);
62
63 boolean result = l.contains(name) || l.contains(normalisedName);
64 for (int i = 0; !result && i < NoteGuesser.NOTE_FILE_EXTENSIONS.length; i++) {
65 result = normalisedName.endsWith("." + NoteGuesser.NOTE_FILE_EXTENSIONS[i]);
66 }
67 return result;
68 }
69
70 public static final boolean isNote(final Document document) {
71 final String name = document.getName();
72 final boolean result = isNote(name);
73 return result;
74 }
75
76 }