View Javadoc

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   * Modifications to the build process which is activated based on
15   * environmental
16   *         parameters or command line arguments.
17   * 
18   * @version $Revision$ $Date$
19   */
20  public class Profile extends ModelBase 
21  implements java.io.Serializable
22  {
23  
24  
25        //--------------------------/
26       //- Class/Member Variables -/
27      //--------------------------/
28  
29      /**
30       * The identifier of this build profile. This used both for
31       * command line
32       *             activation, and identifies identical profiles to
33       * merge with during inheritance.
34       *           
35       */
36      private String id;
37  
38      /**
39       * The conditional logic which will automatically trigger the
40       * inclusion of this
41       *             profile.
42       */
43      private Activation activation;
44  
45      /**
46       * Information required to build the project.
47       */
48      private BuildBase build;
49  
50  
51        //-----------/
52       //- Methods -/
53      //-----------/
54  
55      /**
56       * Get the conditional logic which will automatically trigger
57       * the inclusion of this
58       *             profile.
59       * 
60       * @return Activation
61       */
62      public Activation getActivation()
63      {
64          return this.activation;
65      } //-- Activation getActivation() 
66  
67      /**
68       * Get information required to build the project.
69       * 
70       * @return BuildBase
71       */
72      public BuildBase getBuild()
73      {
74          return this.build;
75      } //-- BuildBase getBuild() 
76  
77      /**
78       * Get the identifier of this build profile. This used both for
79       * command line
80       *             activation, and identifies identical profiles to
81       * merge with during inheritance.
82       *           
83       * 
84       * @return String
85       */
86      public String getId()
87      {
88          return this.id;
89      } //-- String getId() 
90  
91      /**
92       * Set the conditional logic which will automatically trigger
93       * the inclusion of this
94       *             profile.
95       * 
96       * @param activation
97       */
98      public void setActivation( Activation activation )
99      {
100         this.activation = activation;
101     } //-- void setActivation( Activation ) 
102 
103     /**
104      * Set information required to build the project.
105      * 
106      * @param build
107      */
108     public void setBuild( BuildBase build )
109     {
110         this.build = build;
111     } //-- void setBuild( BuildBase ) 
112 
113     /**
114      * Set the identifier of this build profile. This used both for
115      * command line
116      *             activation, and identifies identical profiles to
117      * merge with during inheritance.
118      *           
119      * 
120      * @param id
121      */
122     public void setId( String id )
123     {
124         this.id = id;
125     } //-- void setId( String ) 
126 
127 
128             
129     // We don't want this to be parseable...it's sort of 'hidden'
130     // default source for this profile is in the pom itself.
131     private String source = "pom";
132 
133     public void setSource( String source )
134     {
135         this.source = source;
136     }
137 
138     public String getSource()
139     {
140         return source;
141     }
142 
143     /**
144      * @see java.lang.Object#toString()
145      */
146     public String toString()
147     {
148         return "Profile {id: " + getId() + ", source: " + getSource() + "}";
149     }
150             
151           
152     private String modelEncoding = "UTF-8";
153 
154     /**
155      * Set an encoding used for reading/writing the model.
156      *
157      * @param modelEncoding the encoding used when reading/writing the model.
158      */
159     public void setModelEncoding( String modelEncoding )
160     {
161         this.modelEncoding = modelEncoding;
162     }
163 
164     /**
165      * @return the current encoding used when reading/writing this model.
166      */
167     public String getModelEncoding()
168     {
169         return modelEncoding;
170     }
171 }