001// =================== DO NOT EDIT THIS FILE ==================== 002// Generated by Modello 1.8.3, 003// any modifications will be overwritten. 004// ============================================================== 005 006package org.apache.maven.model; 007 008/** 009 * This element describes all of the classpath resources associated 010 * with a project 011 * or unit tests. 012 * 013 * @version $Revision$ $Date$ 014 */ 015@SuppressWarnings( "all" ) 016public class Resource 017 extends FileSet 018 implements java.io.Serializable, java.lang.Cloneable 019{ 020 021 //--------------------------/ 022 //- Class/Member Variables -/ 023 //--------------------------/ 024 025 /** 026 * 027 * 028 * Describe the resource target path. The path is 029 * relative to the target/classes 030 * directory (i.e. 031 * <code>${project.build.outputDirectory}</code>). 032 * For example, if you want that resource to appear 033 * in a specific package 034 * (<code>org.apache.maven.messages</code>), you 035 * must specify this 036 * element with this value: 037 * <code>org/apache/maven/messages</code>. 038 * This is not required if you simply put the 039 * resources in that directory 040 * structure at the source, however. 041 * 042 * 043 */ 044 private String targetPath; 045 046 /** 047 * 048 * 049 * Whether resources are filtered to replace tokens 050 * with parameterised values or not. 051 * The values are taken from the 052 * <code>properties</code> element and from the 053 * properties in the files listed in the 054 * <code>filters</code> element. Note: While the type 055 * of this field is <code>String</code> for 056 * technical reasons, the semantic type is actually 057 * <code>Boolean</code>. Default value is 058 * <code>false</code>. 059 * 060 * 061 */ 062 private String filtering; 063 064 /** 065 * 066 * 067 * FOR INTERNAL USE ONLY. This is a unique 068 * identifier assigned to each 069 * resource to allow Maven to merge changes to this 070 * resource that take 071 * place during the execution of a plugin. This 072 * field must be managed 073 * by the generated parser and formatter classes in 074 * order to allow it 075 * to survive model interpolation. 076 * 077 * 078 */ 079 private String mergeId; 080 081 082 //-----------/ 083 //- Methods -/ 084 //-----------/ 085 086 /** 087 * Method clone. 088 * 089 * @return Resource 090 */ 091 public Resource clone() 092 { 093 try 094 { 095 Resource copy = (Resource) super.clone(); 096 097 return copy; 098 } 099 catch ( java.lang.Exception ex ) 100 { 101 throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName() 102 + " does not support clone()" ).initCause( ex ); 103 } 104 } //-- Resource clone() 105 106 /** 107 * Get whether resources are filtered to replace tokens with 108 * parameterised values or not. 109 * The values are taken from the 110 * <code>properties</code> element and from the 111 * properties in the files listed in the 112 * <code>filters</code> element. Note: While the type 113 * of this field is <code>String</code> for 114 * technical reasons, the semantic type is actually 115 * <code>Boolean</code>. Default value is 116 * <code>false</code>. 117 * 118 * @return String 119 */ 120 public String getFiltering() 121 { 122 return this.filtering; 123 } //-- String getFiltering() 124 125 /** 126 * Get fOR INTERNAL USE ONLY. This is a unique identifier 127 * assigned to each 128 * resource to allow Maven to merge changes to this 129 * resource that take 130 * place during the execution of a plugin. This 131 * field must be managed 132 * by the generated parser and formatter classes in 133 * order to allow it 134 * to survive model interpolation. 135 * 136 * @return String 137 */ 138 public String getMergeId() 139 { 140 return this.mergeId; 141 } //-- String getMergeId() 142 143 /** 144 * Get describe the resource target path. The path is relative 145 * to the target/classes 146 * directory (i.e. 147 * <code>${project.build.outputDirectory}</code>). 148 * For example, if you want that resource to appear 149 * in a specific package 150 * (<code>org.apache.maven.messages</code>), you 151 * must specify this 152 * element with this value: 153 * <code>org/apache/maven/messages</code>. 154 * This is not required if you simply put the 155 * resources in that directory 156 * structure at the source, however. 157 * 158 * @return String 159 */ 160 public String getTargetPath() 161 { 162 return this.targetPath; 163 } //-- String getTargetPath() 164 165 /** 166 * Set whether resources are filtered to replace tokens with 167 * parameterised values or not. 168 * The values are taken from the 169 * <code>properties</code> element and from the 170 * properties in the files listed in the 171 * <code>filters</code> element. Note: While the type 172 * of this field is <code>String</code> for 173 * technical reasons, the semantic type is actually 174 * <code>Boolean</code>. Default value is 175 * <code>false</code>. 176 * 177 * @param filtering 178 */ 179 public void setFiltering( String filtering ) 180 { 181 this.filtering = filtering; 182 } //-- void setFiltering( String ) 183 184 /** 185 * Set fOR INTERNAL USE ONLY. This is a unique identifier 186 * assigned to each 187 * resource to allow Maven to merge changes to this 188 * resource that take 189 * place during the execution of a plugin. This 190 * field must be managed 191 * by the generated parser and formatter classes in 192 * order to allow it 193 * to survive model interpolation. 194 * 195 * @param mergeId 196 */ 197 public void setMergeId( String mergeId ) 198 { 199 this.mergeId = mergeId; 200 } //-- void setMergeId( String ) 201 202 /** 203 * Set describe the resource target path. The path is relative 204 * to the target/classes 205 * directory (i.e. 206 * <code>${project.build.outputDirectory}</code>). 207 * For example, if you want that resource to appear 208 * in a specific package 209 * (<code>org.apache.maven.messages</code>), you 210 * must specify this 211 * element with this value: 212 * <code>org/apache/maven/messages</code>. 213 * This is not required if you simply put the 214 * resources in that directory 215 * structure at the source, however. 216 * 217 * @param targetPath 218 */ 219 public void setTargetPath( String targetPath ) 220 { 221 this.targetPath = targetPath; 222 } //-- void setTargetPath( String ) 223 224 225 226 private static int mergeIdCounter = 0; 227 228 public void initMergeId() 229 { 230 if ( getMergeId() == null ) 231 { 232 setMergeId( "resource-" + (mergeIdCounter++) ); 233 } 234 } 235 236 public boolean isFiltering() 237 { 238 return ( filtering != null ) ? Boolean.parseBoolean( filtering ) : false; 239 } 240 241 public void setFiltering( boolean filtering ) 242 { 243 this.filtering = String.valueOf( filtering ); 244 } 245 246 /** 247 * @see java.lang.Object#toString() 248 */ 249 public String toString() 250 { 251 return "Resource {targetPath: " + getTargetPath() + ", filtering: " + isFiltering() + ", " + super.toString() + "}"; 252 } 253 254 255}