]> source.dussan.org Git - archiva.git/blob
5e44596edd4b63f35f3b7f5a37f8513efeb49018
[archiva.git] /
1 package org.apache.archiva.admin.repository.group;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import java.io.Serializable;
22 import java.util.ArrayList;
23 import java.util.List;
24
25 /**
26  * @author Olivier Lamy
27  * @since 1.4
28  */
29 public class RepositoryGroup
30     implements Serializable
31 {
32     /**
33      * repository group Id
34      */
35     private String id;
36
37     /**
38      * repositories ids
39      */
40     private List<String> repositories;
41
42     public RepositoryGroup()
43     {
44         // no op
45     }
46
47     public RepositoryGroup( String id, List<String> repositories )
48     {
49         this.id = id;
50         this.repositories = repositories;
51     }
52
53     /**
54      * Method addRepository.
55      *
56      * @param string
57      */
58     public void addRepository( String string )
59     {
60         getRepositories().add( string );
61     }
62
63     /**
64      * Get the id of the repository group.
65      *
66      * @return String
67      */
68     public String getId()
69     {
70         return this.id;
71     }
72
73     /**
74      * Method getRepositories.
75      *
76      * @return List
77      */
78     public java.util.List<String> getRepositories()
79     {
80         if ( this.repositories == null )
81         {
82             this.repositories = new ArrayList<String>();
83         }
84
85         return this.repositories;
86     }
87
88     /**
89      * Method removeRepository.
90      *
91      * @param string
92      */
93     public void removeRepository( String string )
94     {
95         getRepositories().remove( string );
96     }
97
98     /**
99      * Set the id of the repository group.
100      *
101      * @param id
102      */
103     public void setId( String id )
104     {
105         this.id = id;
106     }
107
108     /**
109      * Set the list of repository ids under the group.
110      *
111      * @param repositories
112      */
113     public void setRepositories( List<String> repositories )
114     {
115         this.repositories = repositories;
116     }
117
118     public boolean equals( Object other )
119     {
120         if ( this == other )
121         {
122             return true;
123         }
124
125         if ( !( other instanceof RepositoryGroup ) )
126         {
127             return false;
128         }
129
130         RepositoryGroup that = (RepositoryGroup) other;
131         boolean result = true;
132         result = result && ( getId() == null ? that.getId() == null : getId().equals( that.getId() ) );
133         return result;
134     }
135
136     public int hashCode()
137     {
138         int result = 17;
139         result = 37 * result + ( id != null ? id.hashCode() : 0 );
140         return result;
141     }
142
143     @Override
144     public String toString()
145     {
146         final StringBuilder sb = new StringBuilder();
147         sb.append( "RepositoryGroup" );
148         sb.append( "{id='" ).append( id ).append( '\'' );
149         sb.append( ", repositories=" ).append( repositories );
150         sb.append( '}' );
151         return sb.toString();
152     }
153 }