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   * A repository contains the information needed for establishing
15   * connections with
16   *         remote repository.
17   * 
18   * @version $Revision$ $Date$
19   */
20  public class RepositoryBase implements java.io.Serializable {
21  
22  
23        //--------------------------/
24       //- Class/Member Variables -/
25      //--------------------------/
26  
27      /**
28       * 
29       *             
30       *             A unique identifier for a repository. This is
31       * used to match the repository
32       *             to configuration in the
33       * <code>settings.xml</code> file, for example.
34       *             
35       *           
36       */
37      private String id;
38  
39      /**
40       * Human readable name of the repository.
41       */
42      private String name;
43  
44      /**
45       * 
46       *             
47       *             The url of the repository, in the form
48       * <code>protocol://hostname/path</code>.
49       *             
50       *           
51       */
52      private String url;
53  
54      /**
55       * 
56       *             
57       *             The type of layout this repository uses for
58       * locating and storing artifacts -
59       *             can be <code>legacy</code> or
60       * <code>default</code>.
61       *             
62       *           
63       */
64      private String layout = "default";
65  
66  
67        //-----------/
68       //- Methods -/
69      //-----------/
70  
71      /**
72       * Get 
73       *             
74       *             A unique identifier for a repository. This is
75       * used to match the repository
76       *             to configuration in the
77       * <code>settings.xml</code> file, for example.
78       *             
79       *           
80       * 
81       * @return String
82       */
83      public String getId()
84      {
85          return this.id;
86      } //-- String getId() 
87  
88      /**
89       * Get 
90       *             
91       *             The type of layout this repository uses for
92       * locating and storing artifacts -
93       *             can be <code>legacy</code> or
94       * <code>default</code>.
95       *             
96       *           
97       * 
98       * @return String
99       */
100     public String getLayout()
101     {
102         return this.layout;
103     } //-- String getLayout() 
104 
105     /**
106      * Get human readable name of the repository.
107      * 
108      * @return String
109      */
110     public String getName()
111     {
112         return this.name;
113     } //-- String getName() 
114 
115     /**
116      * Get 
117      *             
118      *             The url of the repository, in the form
119      * <code>protocol://hostname/path</code>.
120      *             
121      *           
122      * 
123      * @return String
124      */
125     public String getUrl()
126     {
127         return this.url;
128     } //-- String getUrl() 
129 
130     /**
131      * Set 
132      *             
133      *             A unique identifier for a repository. This is
134      * used to match the repository
135      *             to configuration in the
136      * <code>settings.xml</code> file, for example.
137      *             
138      *           
139      * 
140      * @param id
141      */
142     public void setId( String id )
143     {
144         this.id = id;
145     } //-- void setId( String ) 
146 
147     /**
148      * Set 
149      *             
150      *             The type of layout this repository uses for
151      * locating and storing artifacts -
152      *             can be <code>legacy</code> or
153      * <code>default</code>.
154      *             
155      *           
156      * 
157      * @param layout
158      */
159     public void setLayout( String layout )
160     {
161         this.layout = layout;
162     } //-- void setLayout( String ) 
163 
164     /**
165      * Set human readable name of the repository.
166      * 
167      * @param name
168      */
169     public void setName( String name )
170     {
171         this.name = name;
172     } //-- void setName( String ) 
173 
174     /**
175      * Set 
176      *             
177      *             The url of the repository, in the form
178      * <code>protocol://hostname/path</code>.
179      *             
180      *           
181      * 
182      * @param url
183      */
184     public void setUrl( String url )
185     {
186         this.url = url;
187     } //-- void setUrl( String ) 
188 
189 
190             
191     /**
192      * @see java.lang.Object#equals(java.lang.Object)
193      */
194     public boolean equals( Object obj )
195     {
196         if ( obj instanceof RepositoryBase ) {
197 
198             final RepositoryBase other =  (RepositoryBase) obj;
199 
200             if ( id != null )
201             {
202                 return id.equals( other.id );
203             }
204             return super.equals(obj);
205         }
206 
207         return false;
208     }
209             
210           
211     private String modelEncoding = "UTF-8";
212 
213     /**
214      * Set an encoding used for reading/writing the model.
215      *
216      * @param modelEncoding the encoding used when reading/writing the model.
217      */
218     public void setModelEncoding( String modelEncoding )
219     {
220         this.modelEncoding = modelEncoding;
221     }
222 
223     /**
224      * @return the current encoding used when reading/writing this model.
225      */
226     public String getModelEncoding()
227     {
228         return modelEncoding;
229     }
230 }