Add bundle activator and use it
[bgpcep.git] / bgp / rib-impl / src / main / java / org / opendaylight / protocol / bgp / rib / impl / BGPObjectComparator.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.protocol.bgp.rib.impl;
9
10 import java.util.Comparator;
11
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.PathAttributes;
13
14
15 /**
16  * This comparator is intended to implement BGP Best Path Selection algorithm, as described at
17  * 
18  * @see http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094431.shtml
19  * 
20  * @param <T> Actual object state reference
21  */
22 final class BGPObjectComparator implements Comparator<PathAttributes> {
23         public static final BGPObjectComparator INSTANCE = new BGPObjectComparator();
24
25         private BGPObjectComparator() {
26         }
27
28         @Override
29         public int compare(final PathAttributes o1, final PathAttributes o2) {
30                 if (o1 == o2) {
31                         return 0;
32                 }
33                 if (o1 == null) {
34                         return 1;
35                 }
36                 if (o2 == null) {
37                         return -1;
38                 }
39
40                 // FIXME: look at ASPath
41                 // FIXME: look at everything else :-)
42
43                 return 0;
44         }
45 }