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