]> source.dussan.org Git - archiva.git/blob
68a1a5996bfb3825363ce9f4f9da492ed2c4036d
[archiva.git] /
1 package org.apache.archiva.proxy;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *  http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import java.util.Comparator;
23
24 /**
25  * ProxyConnectorOrderComparator 
26  *
27  * @version $Id$
28  */
29 public class ProxyConnectorOrderComparator
30     implements Comparator<ProxyConnector>
31 {
32     private static ProxyConnectorOrderComparator INSTANCE = new ProxyConnectorOrderComparator();
33
34     public static ProxyConnectorOrderComparator getInstance()
35     {
36         return INSTANCE;
37     }
38
39     public int compare( ProxyConnector o1, ProxyConnector o2 )
40     {
41         if ( o1 == null && o2 == null )
42         {
43             return 0;
44         }
45
46         // Ensure null goes to end of list.
47         if ( o1 == null && o2 != null )
48         {
49             return 1;
50         }
51
52         if ( o1 != null && o2 == null )
53         {
54             return -1;
55         }
56
57         // Ensure 0 (unordered) goes to end of list.
58         if ( o1.getOrder() == 0 && o2.getOrder() != 0 )
59         {
60             return 1;
61         }
62
63         if ( o1.getOrder() != 0 && o2.getOrder() == 0 )
64         {
65             return -1;
66         }
67
68         return o1.getOrder() - o2.getOrder();
69     }
70 }