1 /*
2 * $Id$
3 */
4
5 package org.apache.maven.profiles;
6
7 //---------------------------------/
8 //- Imported classes and packages -/
9 //---------------------------------/
10
11 import java.util.Date;
12
13 /**
14 * Root element of the profiles.xml file.
15 *
16 * @version $Revision$ $Date$
17 */
18 public class ProfilesRoot implements java.io.Serializable {
19
20
21 //--------------------------/
22 //- Class/Member Variables -/
23 //--------------------------/
24
25 /**
26 * Field profiles.
27 */
28 private java.util.List profiles;
29
30 /**
31 * Field activeProfiles.
32 */
33 private java.util.List activeProfiles;
34
35
36 //-----------/
37 //- Methods -/
38 //-----------/
39
40 /**
41 * Method addActiveProfile.
42 *
43 * @param string
44 */
45 public void addActiveProfile( String string )
46 {
47 if ( !(string instanceof String) )
48 {
49 throw new ClassCastException( "ProfilesRoot.addActiveProfiles(string) parameter must be instanceof " + String.class.getName() );
50 }
51 getActiveProfiles().add( string );
52 } //-- void addActiveProfile( String )
53
54 /**
55 * Method addProfile.
56 *
57 * @param profile
58 */
59 public void addProfile( Profile profile )
60 {
61 if ( !(profile instanceof Profile) )
62 {
63 throw new ClassCastException( "ProfilesRoot.addProfiles(profile) parameter must be instanceof " + Profile.class.getName() );
64 }
65 getProfiles().add( profile );
66 } //-- void addProfile( Profile )
67
68 /**
69 * Method getActiveProfiles.
70 *
71 * @return java.util.List
72 */
73 public java.util.List getActiveProfiles()
74 {
75 if ( this.activeProfiles == null )
76 {
77 this.activeProfiles = new java.util.ArrayList();
78 }
79
80 return this.activeProfiles;
81 } //-- java.util.List getActiveProfiles()
82
83 /**
84 * Method getProfiles.
85 *
86 * @return java.util.List
87 */
88 public java.util.List getProfiles()
89 {
90 if ( this.profiles == null )
91 {
92 this.profiles = new java.util.ArrayList();
93 }
94
95 return this.profiles;
96 } //-- java.util.List getProfiles()
97
98 /**
99 * Method removeActiveProfile.
100 *
101 * @param string
102 */
103 public void removeActiveProfile( String string )
104 {
105 if ( !(string instanceof String) )
106 {
107 throw new ClassCastException( "ProfilesRoot.removeActiveProfiles(string) parameter must be instanceof " + String.class.getName() );
108 }
109 getActiveProfiles().remove( string );
110 } //-- void removeActiveProfile( String )
111
112 /**
113 * Method removeProfile.
114 *
115 * @param profile
116 */
117 public void removeProfile( Profile profile )
118 {
119 if ( !(profile instanceof Profile) )
120 {
121 throw new ClassCastException( "ProfilesRoot.removeProfiles(profile) parameter must be instanceof " + Profile.class.getName() );
122 }
123 getProfiles().remove( profile );
124 } //-- void removeProfile( Profile )
125
126 /**
127 * Set
128 * List of manually-activated build profiles,
129 * specified in the order in which
130 * they should be applied.
131 *
132 *
133 * @param activeProfiles
134 */
135 public void setActiveProfiles( java.util.List activeProfiles )
136 {
137 this.activeProfiles = activeProfiles;
138 } //-- void setActiveProfiles( java.util.List )
139
140 /**
141 * Set
142 * Configuration of build profiles for adjusting
143 * the build
144 * according to environmental parameters
145 * .
146 *
147 * @param profiles
148 */
149 public void setProfiles( java.util.List profiles )
150 {
151 this.profiles = profiles;
152 } //-- void setProfiles( java.util.List )
153
154
155 private String modelEncoding = "UTF-8";
156
157 /**
158 * Set an encoding used for reading/writing the model.
159 *
160 * @param modelEncoding the encoding used when reading/writing the model.
161 */
162 public void setModelEncoding( String modelEncoding )
163 {
164 this.modelEncoding = modelEncoding;
165 }
166
167 /**
168 * @return the current encoding used when reading/writing this model.
169 */
170 public String getModelEncoding()
171 {
172 return modelEncoding;
173 }
174 }