View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.0.1 on 2009-09-09 03:30:24,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.model;
9   
10  /**
11   * This element describes all of the classpath resources associated
12   * with a project
13   *         or unit tests.
14   * 
15   * @version $Revision$ $Date$
16   */
17  public class Resource
18      extends FileSet
19      implements java.io.Serializable
20  {
21  
22        //--------------------------/
23       //- Class/Member Variables -/
24      //--------------------------/
25  
26      /**
27       * 
28       *             
29       *             Describe the resource target path. The path is
30       * relative to the target/classes
31       *             directory (i.e.
32       * <code>${project.build.outputDirectory}</code>).
33       *             For example, if you want that resource to appear
34       * in a specific package
35       *             (<code>org.apache.maven.messages</code>), you
36       * must specify this
37       *             element with this value:
38       * <code>org/apache/maven/messages</code>.
39       *             This is not required if you simply put the
40       * resources in that directory
41       *             structure at the source, however.
42       *             
43       *           
44       */
45      private String targetPath;
46  
47      /**
48       * 
49       *             
50       *             Whether resources are filtered to replace tokens
51       * with parameterised values or not.
52       *             The values are taken from the
53       * <code>properties</code> element and from the
54       *             properties in the files listed in the
55       * <code>filters</code> element.
56       *             
57       *           
58       */
59      private boolean filtering = false;
60  
61      /**
62       * 
63       *             
64       *             FOR INTERNAL USE ONLY. This is a unique
65       * identifier assigned to each
66       *             resource to allow Maven to merge changes to this
67       * resource that take
68       *             place during the execution of a plugin. This
69       * field must be managed
70       *             by the generated parser and formatter classes in
71       * order to allow it
72       *             to survive model interpolation.
73       *             
74       *           
75       */
76      private String mergeId;
77  
78  
79        //-----------/
80       //- Methods -/
81      //-----------/
82  
83      /**
84       * Get fOR INTERNAL USE ONLY. This is a unique identifier
85       * assigned to each
86       *             resource to allow Maven to merge changes to this
87       * resource that take
88       *             place during the execution of a plugin. This
89       * field must be managed
90       *             by the generated parser and formatter classes in
91       * order to allow it
92       *             to survive model interpolation.
93       * 
94       * @return String
95       */
96      public String getMergeId()
97      {
98          return this.mergeId;
99      } //-- String getMergeId()
100 
101     /**
102      * Get describe the resource target path. The path is relative
103      * to the target/classes
104      *             directory (i.e.
105      * <code>${project.build.outputDirectory}</code>).
106      *             For example, if you want that resource to appear
107      * in a specific package
108      *             (<code>org.apache.maven.messages</code>), you
109      * must specify this
110      *             element with this value:
111      * <code>org/apache/maven/messages</code>.
112      *             This is not required if you simply put the
113      * resources in that directory
114      *             structure at the source, however.
115      * 
116      * @return String
117      */
118     public String getTargetPath()
119     {
120         return this.targetPath;
121     } //-- String getTargetPath()
122 
123     /**
124      * Get whether resources are filtered to replace tokens with
125      * parameterised values or not.
126      *             The values are taken from the
127      * <code>properties</code> element and from the
128      *             properties in the files listed in the
129      * <code>filters</code> element.
130      * 
131      * @return boolean
132      */
133     public boolean isFiltering()
134     {
135         return this.filtering;
136     } //-- boolean isFiltering()
137 
138     /**
139      * Set whether resources are filtered to replace tokens with
140      * parameterised values or not.
141      *             The values are taken from the
142      * <code>properties</code> element and from the
143      *             properties in the files listed in the
144      * <code>filters</code> element.
145      * 
146      * @param filtering
147      */
148     public void setFiltering( boolean filtering )
149     {
150         this.filtering = filtering;
151     } //-- void setFiltering( boolean )
152 
153     /**
154      * Set fOR INTERNAL USE ONLY. This is a unique identifier
155      * assigned to each
156      *             resource to allow Maven to merge changes to this
157      * resource that take
158      *             place during the execution of a plugin. This
159      * field must be managed
160      *             by the generated parser and formatter classes in
161      * order to allow it
162      *             to survive model interpolation.
163      * 
164      * @param mergeId
165      */
166     public void setMergeId( String mergeId )
167     {
168         this.mergeId = mergeId;
169     } //-- void setMergeId( String )
170 
171     /**
172      * Set describe the resource target path. The path is relative
173      * to the target/classes
174      *             directory (i.e.
175      * <code>${project.build.outputDirectory}</code>).
176      *             For example, if you want that resource to appear
177      * in a specific package
178      *             (<code>org.apache.maven.messages</code>), you
179      * must specify this
180      *             element with this value:
181      * <code>org/apache/maven/messages</code>.
182      *             This is not required if you simply put the
183      * resources in that directory
184      *             structure at the source, however.
185      * 
186      * @param targetPath
187      */
188     public void setTargetPath( String targetPath )
189     {
190         this.targetPath = targetPath;
191     } //-- void setTargetPath( String )
192 
193 
194             
195     private static int mergeIdCounter = 0;
196 
197     public void initMergeId()
198     {
199         if ( getMergeId() == null )
200         {
201             setMergeId( "resource-" + (mergeIdCounter++) );
202         }
203     }
204 
205     /**
206      * @see java.lang.Object#toString()
207      */
208     public String toString()
209     {
210         return "Resource {targetPath: " + getTargetPath() + ", filtering: " + isFiltering() + ", " + super.toString() + "}";
211     }
212             
213           
214 }