1 // =================== DO NOT EDIT THIS FILE ====================
2 // Generated by Modello 2.1.2,
3 // any modifications will be overwritten.
4 // ==============================================================
5
6 package org.apache.maven.buildcache.xml.config;
7
8 /**
9 * <p>A file or a directory path to exclude from the checksum
10 * computation. Relative path are relative to each module
11 * basedir.</p>
12 * When referring to a directory, additional properties
13 * help adjust the scope of the exclusion:
14 * <ul>
15 * <li>glob - only entries matching this <a
16 * href="https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob">glob
17 * pattern</a> are excluded</li>
18 * <li>entryType - type of entries excluded from
19 * the scan</li>
20 * <li>matcherType - entry property on which the
21 * glob matching is applied</li>
22 * </ul>
23 * <p>By default, targeting a directory excludes
24 * everything underneath it.</p>
25 * Examples :
26 * <ul>
27 *
28 * <li><code><exclude>src/main/doc</exclude></code> :
29 * excludes everything under : ${project.basedir}/src/main/doc</li>
30 *
31 * <li><code><exclude>src/main/java/package-info.java</exclude></code>
32 * : excludes this file :
33 * ${project.basedir}/src/main/java/package-info.java</li>
34 * <li><code><exclude
35 * glob="package-info.java"></exclude></code> : excludes
36 * all the files named package-info.java</li>
37 * <li><code><exclude
38 * glob="src/main/resources/**.txt" entryType="FILE"
39 * matcherType="PATH" ></exclude></code> : excludes all
40 * the text files located under the "resources" folder</li>
41 * </ul>
42 * <p>
43 * Exclude elements can also be added per project with
44 * the use of <a
45 * href="parameters.html#project-level-properties">maven
46 * properties.</a>
47 * </p>
48 *
49 *
50 * @version $Revision$ $Date$
51 */
52 @SuppressWarnings( "all" )
53 public class Exclude
54 implements java.io.Serializable
55 {
56
57 //--------------------------/
58 //- Class/Member Variables -/
59 //--------------------------/
60
61 /**
62 * An absolute or relative path to a filename or a directory.
63 * In the later case, the exclusion is applied starting from
64 * this directory (can be beneficial in term of performances).
65 * If empty, the glob is applied on every file listed as a
66 * potential part of the checksum.
67 */
68 private String value;
69
70 /**
71 * Entries are filtered by matching this glob (see matcherType
72 * property).
73 */
74 private String glob = "**";
75
76 /**
77 * Type of entries filtered. One of FILE, DIRECTORY, ALL.
78 * Excluding a directory excludes its subfiles and
79 * subdirectories.
80 */
81 private String entryType = "ALL";
82
83 /**
84 * The entry property matched for exclusion. One of FILENAME,
85 * PATH. For a path, if the exclusion value is empty or a
86 * relative path, matching is done relatively to the project
87 * folder.
88 */
89 private String matcherType = "FILENAME";
90
91
92 //-----------/
93 //- Methods -/
94 //-----------/
95
96 /**
97 * Get type of entries filtered. One of FILE, DIRECTORY, ALL.
98 * Excluding a directory excludes its subfiles and
99 * subdirectories.
100 *
101 * @return String
102 */
103 public String getEntryType()
104 {
105 return this.entryType;
106 } //-- String getEntryType()
107
108 /**
109 * Get entries are filtered by matching this glob (see
110 * matcherType property).
111 *
112 * @return String
113 */
114 public String getGlob()
115 {
116 return this.glob;
117 } //-- String getGlob()
118
119 /**
120 * Get the entry property matched for exclusion. One of
121 * FILENAME, PATH. For a path, if the exclusion value is empty
122 * or a relative path, matching is done relatively to the
123 * project folder.
124 *
125 * @return String
126 */
127 public String getMatcherType()
128 {
129 return this.matcherType;
130 } //-- String getMatcherType()
131
132 /**
133 * Get an absolute or relative path to a filename or a
134 * directory. In the later case, the exclusion is applied
135 * starting from this directory (can be beneficial in term of
136 * performances). If empty, the glob is applied on every file
137 * listed as a potential part of the checksum.
138 *
139 * @return String
140 */
141 public String getValue()
142 {
143 return this.value;
144 } //-- String getValue()
145
146 /**
147 * Set type of entries filtered. One of FILE, DIRECTORY, ALL.
148 * Excluding a directory excludes its subfiles and
149 * subdirectories.
150 *
151 * @param entryType a entryType object.
152 */
153 public void setEntryType( String entryType )
154 {
155 this.entryType = entryType;
156 } //-- void setEntryType( String )
157
158 /**
159 * Set entries are filtered by matching this glob (see
160 * matcherType property).
161 *
162 * @param glob a glob object.
163 */
164 public void setGlob( String glob )
165 {
166 this.glob = glob;
167 } //-- void setGlob( String )
168
169 /**
170 * Set the entry property matched for exclusion. One of
171 * FILENAME, PATH. For a path, if the exclusion value is empty
172 * or a relative path, matching is done relatively to the
173 * project folder.
174 *
175 * @param matcherType a matcherType object.
176 */
177 public void setMatcherType( String matcherType )
178 {
179 this.matcherType = matcherType;
180 } //-- void setMatcherType( String )
181
182 /**
183 * Set an absolute or relative path to a filename or a
184 * directory. In the later case, the exclusion is applied
185 * starting from this directory (can be beneficial in term of
186 * performances). If empty, the glob is applied on every file
187 * listed as a potential part of the checksum.
188 *
189 * @param value a value object.
190 */
191 public void setValue( String value )
192 {
193 this.value = value;
194 } //-- void setValue( String )
195
196 }